OLTPとデータウェアハウスを1つのDB2で実現できる
マハジャン氏の言う、もっとも革新的な機能の名前は「BLUアクセラレーション」。OLTPのシステム、データウェアハウス、さらにデータマートは、従来、ばらばらなシステムとして構築されてきた。OLTPからデータウェアハウスへ、そしてさらにデータマートへとETLツールなどでデータを移動させなければならなかった。それが、DB2にBLUアクセラレーションが搭載されたことで、1つの筐体にOLTPもデータウェアハウスも共存させられるようになった。
このイノベーションは、IBMの研究所の成果でもある。BLUアクセラレーションは、インメモリーカラム型、行とカラムのハイブリッド型データベース、マルチコアとSingle Instruction Multiple Data(SIMD)というCPU機能を活用するパラレル・ベクトル処理、そしてデータの順序を保持することで解凍せずに処理できるコンプレッションという4つのテクノロジーで構成される。
たとえば、分析対処となる10テラバイトのデータがあったときに、まずはアクショナブル・コンプレッション機能で1テラバイトにまで圧縮してインメモリーにそれを展開する。そのデータをカラム型にすることで、およそ10ギガバイトまで大幅に容量を削減できる。ここまででも、ディスクIOなどは大幅に削減され、性能向上に大きく寄与する。さらに、データ・スキッピングという、買収したNetezza由来の技術を使うことでデータは1ギガバイトにまで削減される。その小さくなったデータを32コアなりのCPUで並列に一気に処理するのだ。さらに、並列処理の際には、ベクトル処理という方法も適用して、結果的にはレポーティングの分析処理性能は8倍から25倍は向上することになる。
新たなインメモリDBを導入するのではなくDB2の1機能としてインメモリ・カラム型を実現
ある意味、BLUアクセラレーションは、昨今はやりのインメモリ、カラム型、圧縮などの技術を活用したデータベースの高速化機能だ。
「他との違いは、インメモリだけのキャッシュ機能のようなデータベースではなく、OLTPのDB2にそれが統合されている点だ」と語るのは、とソフトウェア事業 インフォメーション・Management事業部長の塚本眞一氏。またパラレル・ベクトル処理も、ハードウェアの持っているSIMDという新しい機能を活用し、性能を最大限に引き出すためのものであり、他のデータベースにはまだあまり使われていない技術だ。
実際、BLUアクセラレーションを利用するには、"Create table"文に”ORGANIZE BY COLUMN”という指定を追加するだけだ。これで、カラム型のテーブルがストレージ上に用意され、そこにOLTPのデータをロードすればいい。ロードには、特別なツールは必要なく、従来のDB2のロード機能が利用できる。実際にBLUアクセラレーションのテーブルにアクセスするには、特別なコマンドやSQL文は必要ない。BLUアクセラレーションの適用されたテーブルを指定すれば、インメモリ、パラレル・ベクトル処理、圧縮などが自動的に適用され、高速な処理がなされる。
今回のBLUアクセラレーションの機能は、DB2 10.5を導入すれば利用できるものであり、PureData Systemのように比較的高額なアプライアンスを導入しなくても、高性能な分析環境を実現できる。PureDataがIT投資の大きい大手企業向けだとすれば、BLUアクセラレーションは大規模なシステムでももちろんその効果は高いが、むしろ中堅以下の企業が安価に容易に導入できるデータベースの高性能な分析環境と言える。
そして、これはあくまでもDB2の機能であり、別途まったく新しいデータベースを導入するものではない。なので日常的な運用管理やバックアップなども、従来通りの方法で行える点は顧客も受け入れやすいものとなるだろう。
BLUアクセラレーションを含むDB2 10.5の提供開始は、2013年6月14日から。価格、ライセンスについては、出荷時までに別途発表される。