ubit   English
採用情報 - サイトマップ
製品・サービス MS2 携帯サイト構築運用サービス
製品・サービス
製品・サービス
MS2 携帯サイト構築運用サービス
Xms LDAP Server
Xme Quick Search
事例紹介
日経デスクトップ
Orangeグループ
キスキスキス
無料電話案内
テクノロジー
インメモリーDB
ubitのテクノロジー
インメモリーDB

インメモリーデータベースとは
 インメモリーデータベースとは、データをハードディスクドライブ(HDD)ではなく、半導体メモリに保存することで、処理速度を飛躍的に向上するデータベースです。インコアデータベースもしくは、メインメモリーデータベースとも呼ばれます。メモリキャッシュ等を通じ、メインメモリ上のデータを利用することは一般的ですが、半導体メモリの低価格化、オペレーティングシステムの進化を背景に高性能かつ、大規模なインメモリデータベースが登場しつつあります。

インメモリデータベース概略図


誕生の背景
  1. ユビキタス、ブロードバンド社会でのニーズ
     ネットワーキングの進化により、多人数同時アクセス可能な、高速かつ、安価なデータベースが要求される時代になりました。たとえば、携帯電話インターネットでは、ユーザ数が100万を超えるサービスも多数存在します。ブロードバンド化に従い、ユーザも常時接続環境に慣れつつあり、レスポンスタイムに対する目も厳しいものです。

  2. 半導体メモリの低価格化
     半導体メモリの低価格化は近年顕著で、現在の価格は10年前の数%程度でしかありません。

  3. オペレーティングシステムの安定化
     UNIX等のオペレーティングシステムは、近年動作が非常に安定してきており、数ヶ月もしくは、年単位での無停止運用に耐えます。この信頼性は、データをインメモリに持つことのリスクを軽減させます。信頼性向上のため、従来からparity bitやError Checking and Correction (ECC) メモリが存在しましたが、近年はメインメモリのRAID化(例:IBM Chipkill)も行われており、さらに信頼性が向上しています。

  4. 64bitアドレシングの普及
     64bitアドレシングが可能なシステムが安価に提供され始めています。32bitシステムでは、メインメモリのデータ領域が数ギガバイトに限られてしまいますが、64bitシステムにおいては、ペタバイトを超える巨大なメモリ空間が使用できます。

インメモリーデータベースの特徴、形態
  1. 特徴
     データをインメモリにもち、高速処理が行えることがインメモリデータベースの最大特徴です。さらに可変長データのハンドリングが容易ですので、従来のリレーショナルデータベース(RDB)と比べ、データベースのサイズが飛躍的に少なくなります。

     半導体メモリの高速なシーク速度(ランダムアクセス)とデータ転送速度がインメモリデータベースの高速性を生みます。まずインメモリでは、シーク速度がHDDと比べ、4桁以上早いのです。HDDのシーク速度は、近年では数m秒まで上がっていますが、半導体メモリのアクセスは、遅くてもμ秒単位で終了します。また、HDDのデータ転送速度は、RAID等を使用しても毎秒数百MBですが、大型サーバ内の半導体メモリでは、毎秒数百GBにも達します。

     一般的なRDBにおいては、可変長フィールドはオーバーヘッドとなり、性能の低下を引き起こします。性能低下を避けるため、固定長フィールドを使用することもあります。当然固定長フィールドは、データのパッキング効率を下げ、データベースサイズを肥大化させます。データ構造の綿密な設計が不可欠であった20年前とくらべ、現代のデータベースは、隙間だらけ、スカスカなのです。インメモリデータベースにおいては、データの高速なワード単位アクセスが可能で、可変長フィールドはオーバーヘッドにならず、筋肉質なデータベースが構築できます。アプリケーションにもよりますが、一般的にRDBと比べ、可変長フィールドを駆使したインメモリデータベースのサイズは数分の一です。

     Solid State Disk (SSD:半導体ディスク)半導体メモリ使用のディスクエミュレータも登場し比較的高速なデータアクセスを実現しています。しかしSSDは、シーク速度を向上するだけで、データ転送速度を向上させるわけではありません。またインメモリデータベースとSSDの決定的な差は、より一層の高速性をもたらす、インメモリデータベース特有のアルゴリズムやデータ構造にあるのです。

  2. 形態
     従来のシーク速度、データ転送速度を前提に設計された従来のRDBと比べると、インメモリデータベースは、特有のアルゴリズムやデータ構造を持っています。たとえば、RDB等がB-Treeを使用するのに対し、インメモリデータベースは、より高速なT-Treeの採用が可能です。これらの改善を通じ、RDB等では出現しなかったネットワーク系等ボトルネックが顕著になるほど、高速化が進んでいます。

性能例、将来
 インメモリデータベースの実例としてXdb及び、Xme LDAPサーバ(ユービット)を検証してみると、独自のインターフェイスを持つXdbは、PenW 2.4GHz のシングルプロセッサLinuxシステムにおいて、毎秒約33,000 read/write(1アクセス30μ秒)を実現します。Xdbを基本に作成されたXme LDAPサーバは標準プロトコルであるLDAPを使用し、上記PCで、毎秒約5,500 Search(Read), 毎秒3,300 Add(Write)が可能です。これらの数値は、インメモリデータベースがこれからの、ユビキタス、ブロードバンド社会において重要な要素になっていくであろうことを示唆するものです。


Copyright (C) 2004-2008 Ubiquitous Business Technology, inc. All Rights Reserved.