TOP
>
システムトレンド
> ネイティブであるか否かによる分類
隠されたニーズを引き出すXMLデータベース
第2回:その要求と分類
著者:
ピーデー 川俣 晶
2006/2/7
前のページ
1
2
3
4
ネイティブであるか否かによる分類
XMLデータベースは、最初からXMLデータを扱う専用ソフトとして設計される場合と、既存のRDBなどにXMLデータを格納することによって擬似的にXMLデータベースとして振る舞うように設計する場合がある。
前者はネイティブXMLデータベース、後者は非ネイティブXMLデータベースと呼ばれる。
図2:ネイティブか否かの分類
ネイティブXMLデータベースと非ネイティブXMLデータベースを比較した場合、それぞれに長所と短所が存在する。
非ネイティブXMLデータベースは、データを記録する部分に実績のあるRDBなどを使用するため、データの安全性、可用性などについては既存のRDBと同水準のものを得ることができる。反面、まったく異なる構造を持ったデータベースにデータを格納するため、格納できるデータに対する制約は多くなる(例えばスキーマに対する制約がつくなどの事例がある)。
一方、ネイティブXMLデータベースは非ネイティブXMLデータベースのような制約は少なくて済むものの、長年使われてきたRDB製品と比較すると、安全性や可用性の面で見劣りする部分や実績不足の面があることは否めない。
ハイブリッド型データベース
これまで説明してきた分類とは別に、RDBがXMLデータベースの機能を取り込んでしまい、どちらとも言い難い構成になっているものが存在する。
図3:ハイブリッド型データベース
例えば、Microsoft SQL Server 2005は、RDBのデータ型としてXML型というものをサポートしている。これを使うとRDBのデータベースの中に、小さなXMLデータベースを多数含めることができる。
このようなデータベースは、既存のRDBによるデータベースに、変化を受け入れる柔軟性を追加するには便利である。RDBとして設計されたデータベースはそのまま継続して使用しつつ、そこに柔軟に変化しうる項目を付け足すことができるからである。
しかし、ただ単に巨大なXMLデータや大量のXMLデータを扱いたいというニーズにはあまり便利ではない。大量のデータの高速検索はRDBの機能を使って行うことが前提となっているため、XMLデータの検索は十分な性能がでないこともあり得るだろう。
クエリ(問い合わせ)言語
データベースを活用する際には、クエリ(問い合わせ)言語が不可欠である。
RDBでは、SQL(Structured Query Language)が標準的に使用されるが、XMLデータベースでは、XQueryというクエリ言語が標準とされることが多い。
XQueryは、SQL技術者が習得しやすいように配慮された言語である。とりあえず書けるようになるだけなら僅かな講習だけで可能との意見もあり、普及が期待される。
しかし、XQueryはまだ完全ではない。
XQueryは、XMLと同様にW3Cで制定が進められているが、まだ勧告される段階に至っていない(注2)。
※注:2
現在(2006年2月9日)は勧告候補の段階(Candidate Recommendation)である。
そのため、各XMLデータベース製品は、作業中の仕様書を元にXQueryの実装を行っているが、使用する仕様書の版によって仕様が異なることがあり、一定していない。また、すべての機能を実装していないケースやそもそもXQueryを採用していないケースもあり、一筋縄ではいかない。
図4:クエリによる分類
XQueryの相違はやむを得ないと考え、XQueryを採用したXMLデータベースと、採用していないXMLデータベースに分類することは有益だろう。
ちなみに、XQueryをサポートするXMLデータベースはNeoCoreXMSなどであり、サポートしていないのはShunsakuなどである。
ではどれを使えばよいのか
これまで説明してきた通り、XMLデータベースには様々な分類があるが、それぞれには強い制約が付く場合があり、どれを使ってもすべてのニーズを満たせるとはいえない。
では、いったいどれを使えばよいのだろうか?
前回説明した眠っている潜在的なニーズを満たすためには、どのような特徴を持ったXMLデータベースを選択すればよいのか。そして、それをどのように使っていけばよいのか。
その答えを次回に明らかにしていく。
前のページ
1
2
3
4
著者プロフィール
株式会社ピーデー 川俣 晶
株式会社ピーデー代表取締役、日本XMLユーザーグループ代表、Microsoft Most Valuable Professional(MVP)、Visual Developer - Visual Basic。マイクロソフト株式会社にてWindows 3.0の日本語化などの作業を行った後、技術解説家に。Java、Linuxなどにもいち早く着目して活用。現在はC#で開発を行い、現在の注目技術はAjaxとXMLデータベース。
INDEX
第2回:その要求と分類
ビジネス展開と対応していなかったニーズは表裏一体
幅広く普及するXML
XMLデータベースの分類
ネイティブであるか否かによる分類