アプリケーションプログラムからデータベースへのアクセス方法や、データ検索・登録・更新・追加・削除方法、データ設計の考え方など、XMLデータベース(XML DB)とRDBでは全く異なります。
特に、XMLデータベースの場合は、最適な設計~実装を行うことにより、高い柔軟性=運用コストが低いシステム構築を行うことができます。
XML DBを使ったアプリケーションの開発は、「運用フェーズにおける仕様変更や改修にかかるコストの削減・納期短縮」を意識して、XML DBの柔軟性と拡張性を生かした設計を行う事がポイントとなります。
RDBには、まず厳密なスキーマを決定してからデータを格納するという大前提があります。設計段階において、テーブルやフィールド構成が最終的に確定するまでは、以降の開発に取り掛かることも出来ず、様々な開発プロジェクトにおいて納期遅延やコストオーバー、最悪の場合はデスマーチに突入しかねません。
それにXMLは、データ側に「タグ」と呼ばれるデータの「意味」を表す「見出し」が必ずつけられており、データを見るだけで値の意味を理解することができるため、データの構造変更があってもDBMSは影響を受けずそのまま格納することができます。
同様にXMLデータベース(XML DB)も、データ構造をいつでも自由かつ容易に更新することが可能です。とりあえずデータベースを作成してアプリケーションの開発(あるいは運用)に取り掛かり、必要に応じてダイナミックにデータモデルを変更するといった柔軟な使い方が出来ます。つまり、ビジネスサイドや現場からの要求によって必要とされるデータ項目(スキーマ)を柔軟に再設計・再構成することができるのです。
リレーショナル形式のデータ(RDB) | XML形式のデータ(XML DB) |
---|---|
最終形となるデータ構造を明確にし、テーブルをあらかじめ定義する(要構造確定) → 単純な構造のデータハンドリングは高速だが、複雑なデータの検索や構造変更に対しては弱い |
その時に見えている範囲でデータ構造を仮定義し、データベースにデータを格納 → データの構造変更はXML自体の構造変更として吸収されるため、DBMSは影響を受けない |
XMLデータベースの特長は、システム稼動後の運用・保守・2次開発コストの削減が可能なことです。一旦システムが運用段階に入った後でも、システムを利用する現場部門からの要望や、取引先の製品仕様の追加変更をシステムに反映しなければいけない場面は多いはずです。
例としてあるメーカーで管理している製品情報DBの場合で、現場や取引先からの要望などにより、今管理している内容に対して「面積」や「重量」を追加したい、「環境基準」や「CO2排出量」を管理したい、などの要求が後から出てきたとします。 そのようなシステム運用フェーズでのデータ項目の追加変更のインパクトは、RDBを使った場合非常に大きくなります。 これはアプリケーションの変更だけでなく、データベースのマスタテーブルの追加から始まり、外部キーの追加、インデックスキーの追加が必要になるからです。
これを何回も繰り返す事で、テーブルの数が増加し、それらをつなぎ合わせる事で検索のパフォーマンスが劣化し、アプリケーションのメンテナンス性が悪化し、結果としてコストに跳ね返る、という悪循環にはまってしまう事例が多く見られます。ただ、全てのRDBシステムでこのような事が起こっている訳ではありません。運用後のデータ変更が殆ど必要がないシステム(=定期データのみを扱う業務システム)であれば、このような問題は起こりません。
このように、XMLデータベース(XML DB)とRDBを使い分け、併用することにより、仕様変更や運用にかかるコストを大幅に削減することが可能となります。データモデルの追加や変更が日常的なeビジネス、あるいは構造の未確定な情報をとりあえず電子化する場合など、スピードと柔軟性の求められるシーンにおいてXMLデータベースは、大きな威力を発揮するのです。
御相談、ご質問はこちら |
サービスご案内資料や、特別資料「マニュアル作成の効率化とコストダウンを実現するポイントとは? 」がダウンロードできます。 |
最新事例の公開情報や、イベント・セミナー情報をお届けします。 |