amazonがXMLDBを採用した理由!

2008年7月11日(金)
小野 雅史

XMLデータベースの技術

 オブジェクトデータベースとは、データとそのデータの処理を1つのオブジェクトとしてとらえ、データを保持するデータベースです。現在幅広く利用されているリレーショナルでは、テーブルでデータが管理されており、オブジェクトデータベースとは構造が大きく異なります。

 先ほどアマゾンの例で紹介した「ObjectStore」もオブジェクトデータベースです。今回は、このObjectStoreをコアデータベースに採用しているXMLデータベース「Cyber Luxeon」を例に、解説を進めていきましょう。

 Cyber Luxeonは、W3C標準のXML処理エンジンを内蔵し、XMLドキュメントを階層構造のまま、DOMオブジェクトとして格納しています。

 まずは、キャッシュフォワード技術について解説してきましょう。キャッシュフォワード技術は独自の分散型アーキテクチャーです。従来のデータベースは検索のパフォーマンス向上を目的として、データベースサーバ側にキャッシュを持ってます。キャッシュフォワード技術とは、このキャッシュをアプリケーションサーバ側にも持たせる技術のことです。

 キャッシュフォワード技術を用いて設計されたObjectStoreでは、データ検索を行う際に、直接データベースサーバのデータにアクセスするのではなく、アプリケーションサーバ側のキャッシュにアクセスすることで、単純な検索処理の向上だけでなく、サーバやネットワークの負荷を大幅に軽減することが可能です。

 Cyber Luxeonでは、XMLデータをメモリに配置する「XMLキャッシュ」という技術にあたります。メモリ上にロードされたXMLを高速に検索することで、メモリスピードの処理速度で結果を返すことが可能です。さらに、このXMLキャッシュは別マシンへ分散することができ、クライアントのアクセス数が増大した場合や、サーバ側のXMLデータが増加した場合に、キャッシュサーバを増設するといった段階的な拡張(スケールアウト)ができるのが特徴です。

 また、Cyber Luxeonでは「ダイナミックモデリング」と呼ばれる技術が採用されています。これは、XMLをノードレベルで処理(検索・更新)する技術です。この技術によって、システムを停止することなく、XMLのデータ構造を運用中にダイナミックに変更することが可能です。サービスを稼働し続けなければいけないようなサービス(B2B、B2C向けの大規模ECサイトなど)で活用されています。

 今回紹介した技術を図2にまとめました。

データベースは適材適所

 ここで、XMLデータベースを活用するにあたってのポイントとコツを整理してみましょう。

 まずデータベースの選定のポイントは、適材適所です。変化が激しく予測がつきにくいデータを無理やりRDBで管理しても、データベースの設計変更による運用後のシステムメンテナンス回数が増大し、データの利活用を妨げる結果となってしまいます。

 定型的なデータはRDBで管理し、そのデータを時系列でまとめて、ほかのデータとの関連付けをする必要が出た場合には、柔軟で拡張性のあるXMLデータベースに格納するのが効率的ではないかと考えます。

 ではXMLデータベースの設計のコツはなんでしょうか。ここまで述べた通り、XMLデータベースは、データ項目の変化に対しての柔軟性と拡張性を持っています。ですから、データ設計も「ナナサン(7:3)の法則」で良いわけです。

 つまり、サービス当初に分かっている基本項目が全体の70%だとすると、予測不可能な30%の項目については、運用後、必要に応じて拡張していけば良い、といった割り切りで設計すると良いのです。

 ところで、皆さんのまわりにRDBに格納できなかった、つまり捨てられていたデータはありませんか?RDBに格納しなかった理由は、「格納するための項目がなかった」「1カラムの文字制限にあふれた」「文章なのでそもそもデータベースに入れることすら考えなかった」というものが大半を占めているはずです。

 しかしよく考えてみてください。こういったデータこそ、まさに顧客や現場の声であり、捨ててはいけない貴重なナレッジではないでしょうか。ですから、そのナレッジはXMLデータベースで管理できるよう工夫することが大事です。

株式会社サイバーテック
株式会社サイバーテック 取締役。XMLDBの普及に命をかけるマーケティング屋。XMLDBの発展はエンジニアの感性と遊び心にかかっていると信じて疑わない。既成概念にとらわれないオープンでキャッチなXMLアプリケーションの登場を待ち望んでいる。1967年1月生まれ。出生地は名古屋市。現在の生息地は川崎市。水瓶座のO型。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています