データベース技術はビジネス・コンピューティングの基盤技術でもあり、歴史が長い分急速な進化・変化は起こりにくい分野だ。その進化を駆動している要件は、「データ量の大規模化」「応答速度の短縮」「高信頼性の確保」の3本柱を中心に、データベースアプリケーションの開発容易性の追求などが加わる形で進んできた。現在もこうした流れの延長上にあるが、技術動向としてさらに「サーバ仮想化の急速な発展」と「クラウドの実用化」を付け加えることができるだろう。今回はこの2点について解説する。
仮想化環境への対応
仮想化については、これまで使われてきたデータベース側の高信頼性確保の技術と、仮想化インフラに実装されつつある高信頼性技術に重なりが見られるため、その使い分けが徐々に進展し始めているところだ。
例えば、高信頼性を実現し、大規模な障害発生に備えるためのディザスタリカバリ・システムでは、従来はデータベースの機能でデータのレプリケーションを行う手法とストレージの機能を活用してレプリケーションを行う手法があった。しかし現在ではさらに、仮想化インフラの機能を使い、データベースが稼働している仮想マシンのストレージとメモリのイメージをリアルタイムでレプリケーションすることも可能になってきている。
サーバの仮想化はその適用範囲を徐々に拡大しつつあり、ミッション・クリティカルな基幹系アプリケーションを仮想化プラットフォーム上で実行する例も増えつつあるところだ。
データベースはI/O操作の比率が高いこともあって、今のところ仮想化プラットフォーム上で実行する例は少ないが、今後は比較的負荷が軽いシステムから段階的に仮想化プラットフォーム上に移行する例が増えると予想される。
この場合、従来は高価なハードウェアを複数用意するなど、高コストなシステムであるディザスタリカバリや遠隔バックアップが、仮想化の活用によって低コストで実現できる可能性が開ける。大規模な中核データベースだけではなく、部門レベルで利用されるような小規模データベースに関しても、仮想化によって従来よりもはるかに手厚い高信頼性技術が取り入れられるようになる可能性が高い。
また、仮想サーバを前提に考えた場合、少数の大規模サーバを運営するスタイルよりも、比較的小規模なサーバを多数運営する水平分散型のスケールアウト型システムのほうがメリットを得やすい。仮想サーバのためのプラットフォームとなるサーバマシンは少数の高性能・高信頼のハードウェアを利用することで、「管理コストを低減しつつ、その上で多数の仮想サーバを実行する」という形になるだろう。こうした環境では、クラスタ型データベースの運用が適している。
この分野では、Oracle Databaseが「グリッド対応」をうたうなど、先行している感があるが、高信頼性・拡張性・レスポンス向上など、さまざまなメリットを引き出しやすい構成として今後も重要な位置を占め続けると予想される。合わせて、比較的多数のデータベースサーバを並列的に運用することになるため、運用管理ツールの充実がますます重要になることは間違いないだろう。仮想化インフラ自体の管理までカバーし、ネットワークやストレージ・デバイス、データベースなど、関連するさまざまなコンポーネントを一元的に管理できる運用管理フレームワークの確立が期待されるところだ。
クラウドの実用化に向けて
現在、IT業界ではクラウドが注目を集めているが、ビジネス・コンピューティングの分野でクラウドをどう生かしていくかは、これから取り組みが始まるという段階と見てよい。例えば、クラウドにおけるデータベースの実装はさまざまな手法が並列的に提案されており、流動的な状況にある。
クラウドに最も馴染みやすいタイプのデータベースは、Googleなどが内部で利用していると言われる「キー・バリュー型データベース」だ。これは、正にGoogleが日々実行しているような「検索キーワードにマッチするWebページのURLを高速かつ大量に返す」という用途に向く。
データセット自体を細かく分割して多数のサーバに分散配置することで、アクセスを平準化しつつ高速なレスポンスを実現するアルゴリズムも、かなり洗練されてきている。ただし、このアプローチはデータ自体の品質で多少妥協している面もある。データの更新が多数分散されたデータベースすべてに反映されるにはある程度の時間を要するため、アクセスのタイミングによっては、更新前のデータを返してしまうリスクが伴う。
このため現時点では、キー・バリュー型データベースはビジネス・コンピューティングのための従来型のRDB(リレーショナル・データベース)とは用途が異なると見なされているが、ビジネス・コンピューティングのためのデータベースをクラウド上に実装することが完全に諦められているというわけではなく、まだはっきりした展望は見えていない。
クラウドの高まりと共にXMLに再び注目が集まるか
ビジネス・コンピューティング向けのRDBでは、数年前からXMLデータストアとの統合がトレンドであり、XMLデータをそのままの形でデータベース内に格納し、高速にハンドリングする機能が実装されてきた。この分野では、「ハイブリッド・データベース」を標榜するIBM DB2が先行したが、OracleやMicrosoft SQL Serverなども対応してきている。
ビジネス・コンピューティング分野でのXMLデータの活用が主にシステム間のデータ交換を中心としているためか、これまでのところXMLデータストアの需要が急速に伸びているという話は聞かれないが、堅実な需要が存在していることは間違いないようだ。一方で、インターネットではXMLデータを前提としたサービスが多数実装されており、広く使われている。よく知られている例では、blogがXMLをベースに実装されており、インターネット上に膨大な量のXMLデータが蓄積されつつある状況だ。
クラウドの発展と歩調を合わせ、インターネット・サービスのためのデータベースの整備に意識が向かう可能性も考えられる。この場合改めてXMLデータストアに注目が集まり、「クラウド上でより洗練された形でXMLデータストアを実現する」という方向性が生まれてくるかもしれない。現時点ではまだ単なる推測の段階でしかないが、データベース分野におけるさまざまな進化の方向が見え始めてきたと言えるだろう。