XMLデータベースの技術

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データベースで管理できるよう工夫することが大事です。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30