【爆速インメモリDBMS】検索時間は分単位からミリ秒へ
リレーショナルデータベースとSQLを飯のタネにして、22年になります。その間、開発技術者として内部の仕組みを勉強したことや、BI関係のベンダーでデータマートを扱っていたことがあります。以前に書きましたが、SQLは賞味期限の長い技術です。
リレーショナルデータベースで検索時間を短くする方法を一言で言うと、インデックスなどの仕掛けを使って、ハードディスクにアクセスする頻度をできるだけ少なくすることに尽きます。ハードディスクはメモリに比べて桁違いに遅いデバイスです。ディスクをアクセスする回数が、検索時間に大きな影響を与えます。各データベースベンダーは、インデックスだけでなくSQL最適化などの技術を駆使して、検索時間を短縮しようとしています。それでも100万、1,000万件単位のデータを扱うためには、それなりのスペックのデータベースサーバーが必要で、検索時間も分単位・時間単位でかかるでしょう。
先日、横浜にある株式会社ターボデータラボラトリーで、「AktblitzII 32」というソフトウェアのデモを見せていただく機会がありました。AktblitzIIは、LFM(Linear Filtering Method)技術を使った、インメモリDBMSのソフトウェアパッケージです。LFM技術の詳細は、ターボデータラボラトリーのサイトをご覧ください。少々乱暴にまとめると、AktblitzIIは表計算形式のユーザインタフェースで、独自形式のデータベースに格納された最大行数20億行、最大列数512列まで(32ビット版の場合)のデータを、高速に処理できるソフトウェアです。
4Gバイトのメモリを搭載した普通のノートパソコンを使って、実際に動く所を見せていただきました。大量データをジョイン(結合)、検索、ソート、集計といったデータ分析処理するデモです。頭の中にSQL文が浮かぶような一般的な処理ですが、驚異的なのは、その処理速度です。とにかく速いのです。結果が出るまでミリ秒単位です。一般的なリレーショナルデータベースの処理速度の感覚から言うと、信じられないくらい速いです。
パフォーマンスを上げるポイントは、なるべく外部メモリにアクセスしないで、CPU内部キャッシュで処理することと伺いました。検索の高速化は、ディスクアクセスを減らすどころではなく、今や外部メモリアクセスを減らすことがポイントになっているのですね。いやー、本当に驚きました。
私が注目して騒いでいるだけですと、何やらアヤシゲな感じがするかもしれません。客観的な事例を挙げておきます。
Aktblitzのエンジンである「DayDa. Laboo」は、2003年の第13回「日経BP技術賞」の情報通信部門で、【独自のLFM(線形フィルタ法)に基づく超高速データベース・エンジン「DayDa. Laboo」の開発】が受賞しています。
独自のLFM(線形フィルタ法)に基づく超高速データベース・エンジン「DayDa. Laboo」の開発
古庄 晋二 株式会社ターボデータラボラトリー 代表取締役
LFMは、インデックスを使わないデータベースの高速化技術。富士通・沼津工場での実データを使った部品表展開では、SQLサーバーで58分かかった計算を約6秒で終えた。
この年に同じく情報通信部門で受賞したのが、地球シミュレータセンターと日本電気株式会社の【超高速ベクトル並列計算機システム「地球シミュレータ」】です。あの地球シミュレータと横並びで堂々の受賞です。
また株式会社アイ・ティ・アールのアナリストのレポート「今月の注目市場:インメモリDBMS」では、
こうした状況を背景に、2007年度の国内インメモリDBMS市場は出荷金額ベースで約17億円、前年比119.8%と高成長を維持しており、2008年度も出荷金額で約25億円、前年比約50%増という大きな伸びが見込まれる。主要な製品には、高速屋の「高速機関5」やターボデータラボラトリの「DAYDA. LabooⅡ」、オラクルの「TimesTen」などがあり、中でも2007年度に高成長を遂げたオラクルは、高速屋を抜いてシェアトップの座を獲得している。
と、オラクルの「TimesTen」と並んで名前が出ています。
オラクルの「TimesTen」はSQLをサポートして、データの更新を含むトランザクション処理全体を対象としています。これに対して、Aktblitz/DayDa. LabooはCSV形式のデータを取り込んで、高速に検索することが得意です。既存業務のリレーショナルデータベースを置き換えるものではありません。SQLを知らなくても表計算形式のユーザインタフェースを使って、高速に検索できるところが強みです。
検索時間が圧倒的に短縮されることで、新しい使い方が出てきます。例えば、これまで夜間バッチで日に一回集計するのが精一杯だったレポートを、1時間毎にリアルタイムで集計できるようになる可能性があります。企業で迅速な意思決定を必要とする場面で、おもしろい使い方ができるのではないでしょうか。
関連リンク
Publickeyの新野さんも、インメモリデータベースに注目しています。
【告知&広告】
Aktblitz/DayDa. Labooの圧倒的な速度に感動して、この度、弊社は株式会社ターボデータラボラトリーの販売パートナーになりました。
Aktblitz/DayDa. Labooに興味を持たれた方は、弊社Webサイトをご覧ください。お客様の実データを使ったパフォーマンスデモなど、ご要望に合わせて対応いたします。