野間氏はDB2 10を「個人としてはV9の集大成と思っています」と評している。DB2 10は9で進化させてきた新機能群、例えばpureXML、Transactional pureXML、ワークロードマネージャーに磨きを掛けた。またDB2 9.7のオプションという扱いだったDB2 pureScaleが10で製品に統合された。10は9の完成形をベースにしていると言えるだろう。
さらに10ではビッグデータへの対応が加わり、パフォーマンスとセキュリティを強化している。野間氏いわく「IBMは2年前のInformation On Demandで、すでにビッグデータをテーマに掲げていました。スタートが早かっただけに、必要な機能がすでに製品に落ちてきて(実装されて)います」。
この「2年前」というのはIBMがアメリカで開催する情報管理製品の年次イベント「Information On Demand 2010」を指す。当時のイベントテーマは「Gain Insight. Optimize Results(洞察の獲得、結果の最適化)」だった。今ほど「ビッグデータ」というキーワードでもり立てていなかったものの、コンセプトとしては今の「ビッグデータ」そのもの。IBMはビッグデータという潮流を早くから着目し、機能強化を続けているというわけだ。
実際、IBMがとらえるビッグデータの特徴とDB2 10に盛り込まれた新機能はよく合致している。野間氏はビッグデータおよびDB2 10の特徴を「3つのV」としてまとめた。それらがVariety(多様性)、Velocity(速さ)、Volume(量)。ビッグデータは定型・非定型の多様かつ大量のデータを高速に処理していかなくてはならない。そのために、従来のRDBMSとNoSQLを適材適所に使い分けていく必要がある。こうした背景に見合うような新機能がDB2 10には盛り込まれている。
1.Variety(データの多様性)
ビッグデータにはさまざまなデータが混在している。
まずはInfoSphere BigInsights(Hadoop構築ソフト)との連携。DB2からHadoopへはSQLインターフェースでJaql(JSON用のクエリ言語)の実行が可能となり、逆にJaqlからDB2へのデータ読み書きも可能となる。DB2は従来のRDBMSデータとHadoopのHDFSデータと連携し、Cognosなどの分析ツールにつなげるデータのハブとなる。
次に「タイム・トラベル照会」。過去データのアクセスを容易にする機能だ。システム時間でデータを切り出すだけではなく、「2012年度」などで切り出すこともできるうえ、両者のハイブリッド的な使い方もできる。DB2の機能として時間的要素を持つので、アプリケーションで複雑なロジックを開発する手間が省ける。
さらにXMLデータ。V9からXMLデータをネイティブに扱うことができるようになっているところ、より高速に、BIにおける利用もサポートするようになった。
2.Velocity(高速処理)
ビッグデータはデータ量が膨大なので高速に処理しなくてはならない。
拡張性と可用性に大きく寄与するのがpureScale。9.7から登場した機能で、ロック情報と更新データをCF(Coupling Facility)に一元管理し、拡張性を向上させる。ロックモードの最適化とノード間のRDMA(Remote Direct Memory Access)通信で高速化するため、低負荷で高い拡張性を発揮し、連続稼働を実現させる。
またさまざまな機能改善により、基本性能は「3倍向上した」と言われている。これには索引スキャンの最適化、オプティマイザーの性能向上、新たなJOIN方式、統計情報収集の強化、情報系クエリーの性能向上、並列処理方法強化などが寄与している。
ちょっと面白いところでは新たなJOIN方式だ。海外では「ジグザクJOIN」とも呼ばれている。多次元の大量の表における膨大な処理を高速に処理できるようにする機能だ。従来ならブリッジテーブルを用いるなどして工夫するところ、効率良くJOIN処理を行い高速化する。もともとIBM Red Brick Warehouseで用いられていた機能をDB2にも実装したとのこと。
加えてワークロード管理の強化。業務の優先度に応じてリソースやリクエストを管理できる。エンタープライズで利用する上で重要な機能だ。ワークロードごとに使用するCPU割合を指定できるので、突然高負荷のクエリーが来てもほかのユーザーに与える影響を最小限に抑えることができる。システムのバランスを保ち、最適な状態を維持することができる。