過去だけでなく未来のデータも登録できる
今回のDB2 10で、かなりユニークな機能が追加されている。それが「タイム・トラベル照会」という機能だ。データベースの検索では、基本的に今の時点のデータが「何か」しか分からない。これが、タイム・トラベル照会機能を使うと、過去の時点にデータの値が何であったかを検索できるのだ。この機能を利用することで、過去のデータと今を比較するといったデータ分析が容易に実現できるようになる。
また、タイム・トラベル照会はさらに、未来に対するデータの指定も可能となっている。過去に遡れる機能を持つデータベースは他にもあるけれど、未来のデータを扱えるのは珍しい。これ、具体的には、未来に変更されることが分かっているデータをデータベースにあらかじめ登録しておけるというもの。たとえば、Web上にある商品の価格を掲載するプログラムがあるとする。その場合、データベースの商品価格のデータを検索し、結果を表示すればいい。
価格がずっと変わらなければ、なんらプログラムを変更する必要はない。ところが、マーケティングキャンペーンなどで価格が変わる場合は、価格を変更するプログラムを作るなりして、キャンペーン期間になったならばデータベースの値を変更し、さらに期間が終了したらもとに戻す作業が必要になる。場合によっては、表示プログラムのほうを変更し、キャンペーン期間中は別テーブルを参照するようにするかもしれない。
タイム・トラベル照会の機能を使えば、キャンペーン価格をテーブルに入れておき、キャンペーンの期間を設定しておけば、期日が来れば自動的にキャンペーン価格が参照される。当然ながら、期間が終了すればもとの価格が参照されるようになるのだ。その際にも、表示するためのプログラムには一切変更をする必要はない。特定の期間だけ、データを頻繁に変更するような仕組みが必要な場合は、データベース側だけでそれに対応できるので、かなり便利に利用できる機能と言えるだろう。
DB2らしさの象徴、DB2 pureScaleも大幅に機能強化
さらに、中林氏が自信を持ってお勧めできる機能だと言うのが、データベースサーバーのクラスタリングを行うDB2 pureScaleだ。このpureScaleは、DB2 9.7 Enterprise Server Editionのオプション機能として登場し、システムが「止まらない、止めない」高度な可用性と、ノードを増やせば増やした分だけの拡張性が得られるエンタープライズ用途では欠かせない仕組みだ。pureScaleは、アーキテクチャ的にはストレージを共有するシェアードディスク型のクラスタリングだ。シェアードディスク型では、ノードを増やすとノード間で整合性をとるための情報のやりとりが大量に発生し、それがボトルネックとなりノード数に応じたスケーラビリティの確保がなかなか得られないのが普通だ。
pureScaleではこのノード間通信部分の負荷を最小限にするために、独自のロックとキャッシュの集中管理を行う仕組みを持っており、ノードを増やした分だけリニアに拡張するという特長を持っている。pureScaleを導入し活用している三菱東京UFJ銀行では「pureScaleによる2ノードから4ノードまでの検証を実機で行い、リニアにスケールすることを実証できました」と言っている。そして、以前であればあらかじめ5年後のシステム要求を見込んだハードウェアリソースの先行投資を行うところを、リニアに性能向上が得られるpureScaleの拡張性により「1年後を見越した投資で十分対応できます。これにより4年分の先行投資が不要になり、運用管理コスト、保守料なども低減できました」と、その効果の大きさを説明している。
このようにpureScaleは、拡張性と可用性が両立する機能として登場したが、DB2 9.7まではさまざまな制約があったのも事実。DB2 10では、それら制限部分がなくなり、性能、可用性の大幅な強化がなされると同時に、より適用の範囲の広がりも見せている。たとえば、DB2 9.7までは、pureScaleで扱えるデータベースは1つだけだったが、DB2 10では複数データベースをサポートした。これにより、マルチテナントのクラウドサービスのようなものでもpureScaleの上で容易に構築できるようになったのだ。またレンジ・パーティショニングも新たにサポートされ、大量なデータに対しても効率的なアクセスが可能となり性能面での向上も大きく図られている。
また、ノード間通信には超高速なインフィニバンドだけでなく、10Gigabit Ethernetも新たにサポートされた。これにより、より柔軟なハードウェア選択が可能となりコスト効率のいい構成が可能となっている。さらにワークロード管理機能も提供され、バックアップとリストアオプションも加わり、管理面でも機能が充実し容易な運用が行える環境も整った。pureScaleは新しい機能ではあるが、その背景にはIBMがメインフレームのデータベースで長年にわたり培ってきた深い技術がある。そのような技術の蓄積の上に、IBMが自信を持って提供しているのがpureScaleだとも言える。
DB2 10では、災害対策などで利用できるHADR機能で複数スレーブサーバーに対応、行および列に対するアクセス制御機能など、この他にも数多くの機能強化がなされている。かつては、ライバルであるOracleデータベースに追いつけ、追い越せで、機能、性能が強化されてきた印象もあったが、今回のDB2 10ではDB2ならではの機能、性能の強化が数多くなされており、この機能が使いたい、この性能が欲しいからこそDB2を選択するという道筋が、明確に示されるようになったバージョンアップとなっている。