図1●インメモリーDBの用途例
図1●インメモリーDBの用途例
[画像のクリックで拡大表示]

今年の7月から10月にかけ,インメモリーDB製品の出荷が相次いだ。Webサイトを中心に高速処理のニーズが拡大していることに加え,64ビット環境の普及で大容量のメモリー空間を利用できるようになったことが背景にある。従来では難しかった大量データのバッチ処理などに適用範囲が広がった。

 10月には富士通ビー・エス・シーが「Oh-Pa 1/3 Data Server Enterprise Edition Version 1.0」(3000万円,1サーバーの場合)を,9月にはシアンス・アールが「Kairos Main Memory RDBMS」(120万円,1CPUでメモリー2Gバイトの場合)を,7月には富士ソフトABCが「FSSQL/Search Edition」(480万円,1CPUでメモリー4Gバイトの場合)を販売開始した。

 これらはインメモリーDBと呼ばれる製品で,基本的にすべてのデータをメモリーに読み込んで処理するデータベース製品である。一般的なRDBMSはメモリーにデータをキャッシュするが,ディスク・アクセスを基本としている。メモリー・アクセスはディスク・アクセスに比べて高速なので,インメモリーDBは一般的なRDBMS製品より高速に処理できる特徴がある。

 ほとんどのインメモリーDB製品がSQL文を利用できる。さらにKairos Main Memory RDBMSやFSSQL/Search Editionはストアド・プロシージャを利用できるなど,「OracleやSQL Serverの利用者が違和感なく使えるように工夫した」(富士ソフトABC 技術本部高速DB推進センター長の砂岡克也氏)という。

 ここにきてインメモリーDB製品が増えてきたのは,Webサイトを中心に高速処理に対する要求が急速に高まってきたからである。金融機関のシステムにおける残高照会やインターネット上の店舗における商品検索がその典型例だ。大量検索の要求処理に時間がかかっていては,顧客が離れてしまう。こうしたシステムにおいて,検索処理時間の短縮を図る手段としてインメモリーDBは効果的だ(図1上[拡大表示])。

 さらにインメモリーDBにとって,64ビット環境の普及は追い風である。64ビット版XeonやOpteronを搭載したサーバーが増え,メモリーの価格も下がりつつある。インメモリーDBの特徴である高速性は,すべてのデータをメモリーに読み込むことで効果を発揮する。64ビット環境では事実上扱えるデータ量の制限がなくなるので,64ビット環境の普及でインメモリーDBの適用範囲は拡大する。

 期待される使い方の一つは,大量データをバッチ処理する用途である。例えば,多数ある店舗のPOSシステムから集めたPOSデータを集計するようなケース(図1下)。こうした使い方だと,バッチ処理においてディスク・アクセスが発生しないので,処理時間の大幅な短縮が期待できる。