Database Watch 11月版 Page 1/2

DBの常識を覆すDB2 9.5“Viper 2”の仕掛け


加山恵美
2007/11/15

 秋から冬に近づいてきました。いきなり寒くなったので、風邪をひいてしまった人も多いようです。疲れがたまっているのかもしれません。年末に向けて、体調管理には気を付けてくださいね。

よりXMLネイティブに“Viper 2”登場

 予想以上に早い展開でした。本連載の9月版にてIBM DB2 9の次期版は「来年には」と予想していたのですが、甘かったです。IBMは10月18日にDB2の新バージョンとなる「IBM DB2 9.5“Viper 2”」を発表し、すでに10月31日から全世界で提供開始となりました。

 DB2 9の「pureXML」は、DB2 9.5で「Transactional pureXML」へと進化を遂げました。DB2 9.5ではXMLをファイルやCLOB型に格納するのに比べてストレージを半分にできて、DB2 9と比較してスループットを2倍にできるとIBMは主張しています。加えて地味ではあるけれどかゆいところに手が届くきめ細かな機能を追加することで、XMLをさらにネイティブかつダイナミックに扱えるようになりました。

 DB2 9.5の進化はXMLだけではありません。管理/TCO削減、パフォーマンス拡張、System pとの連携、コンプライアンス(法令順守)対応、アプリケーション開発フレームワークなどの分野で機能が強化されています。

 IBMが特に胸を張るXML機能を中心に違いを見ていきましょう。まずXMLデータがよりコンパクトになり、パフォーマンスを向上させました。DB2は独自の工夫でXMLデータをRDBMSに格納しています。理論上の話ですが、もしRDBMSのテーブルにXMLの階層をそのまま階層的に格納すると、データは元のXML文書の5倍かさばってしまいます。

 IBMはこの手法はとらず、DB2 9では要素は階層化するものの属性とテキストは各ノード内に持つことでデータサイズを元の文書の3倍に抑えていました。DB2 9.5では要素ノードも階層化することなく収められるようになり、元の文書とほぼ同じサイズにすることができました(ただし小規模なXMLに限られます)。このインライニングに加え、DB2 9.5の特徴であるXMLの行圧縮も使うと、データがコンパクトになるだけではなく飛躍的にパフォーマンス向上が見込めるようになります。

かゆいところに手が届くXML関数

 加えて随所に細かい機能拡張がなされています。例えば新しいXML関数がいくつか追加されました。XMLRowスカラー関数やXMLGroup集約関数はDB2にあるテーブルのデータをXML形式で出力できます。関数でRDBMSからXML文書を一気にはき出せるなんて便利ですね。

 またXSLTransform関数はXML文書に適用するXSLスタイルシートを指定することができて、XML文書を多様なフォーマットで出力できます。一見XSLTでXMLを変換するのは何ら珍しくはないように思えるかもしれませんが、元のXML文書もXSLスタイルシートもDB2 9.5に入れることができて、データベースの持つ関数で変換できてしまうところが斬新です。XML文書やスタイルシートをファイルで持つよりも、はるかに管理が楽になるはずです。ただし変換には負荷がかかりますので、それをデータベースとアプリケーションのどちらで処理するのがいいかは状況次第となるでしょう。

 さらにXQueryも機能拡張しています。XQueryでSQL呼び出しの際にXQuery変数のパラメータを渡せるようになり、XQuery Update機能ではXML文書をノードレベルで操作することができるようになります。実はDB2 9ではXML文書の一部のみ更新する場合でも、XML文書全体をクライアントアプリケーション側に持ってきてから変換し、その結果をまるごと更新していたのです。それをDB2 9.5ではクライアントアプリケーション側に持ってくることなく、XQuery Transform構文で更新できます。

 そのほかDB2 9.5のXML機能というと、XMLバリデーション機能強化、互換性のあるスキーマを扱えるスキーマ・エボリューション、XML列でユニコードに加えて非ユニコードもサポートするなどが強化され、ネイティブの度合いがさらに強くなりました。

DB2 9.5の最新情報と事例のイベント

 それからDB2 9.5で話題となっているのは、ちょっとマニアックですが10進浮動小数点データ・タイプ(Decimal Floating Point)です。金融系アプリケーションでは小数計算の正確性やスピードが重要になりますが、このデータ・タイプはDECIMALより高速かつFLOATよりも正確で、IBMの次世代プロセッサ「POWER6」が提供するハードウェアによる10進浮動小数点サポートと連携することにより、高速処理が可能となります。長年金融系のシステムに携わってきた人には感動的な機能です。

 なお今回DB2 9.5の提供開始に伴い、IBMでは「XMLデータベース活用事例とDB2 V9.5最新情報セミナー」を開催します。

 DB2のエンジニア同士で事例の情報交換や交流を楽しむなら、Club DB2へどうぞ。11月2日には初の大阪開催を実現し、東京で大好評だったパフォーマンス・チューニング・ステップを解説しました。12月7日のClub DB2は事例発表に加えてクリスマス・パーティーを開催するそうですよ。楽しそうですね。

  1/2

 Index
連載 Database Watch 11月版
DBの常識を覆すDB2 9.5“Viper 2”の仕掛け
Page 1
・よりXMLネイティブに“Viper 2”登場
・かゆいところに手が届くXML関数
・DB2 9.5の最新情報と事例のイベント
  Page 2
・NeoCoreXMS、サイバーテックに事業譲渡
・「ネイティブXML」機能は当たり前に?


Database Watch



Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Database Expert 記事ランキング

本日月間