- PR -

XMLデータベースの使い道

投稿者投稿内容
ふうた
大ベテラン
会議室デビュー日: 2001/08/23
投稿数: 198
お住まい・勤務地: 岡山
投稿日時: 2002-06-28 16:05
参照元記事にある「Xindice:無料で使えるXMLデータベース」は興味をもって拝見させていただきました。
とりあえず、記事にある通りに一通り実行もできて、なんとなく「XMLデータベースがなんぞや」というところが分かりました。

ただ、ふとこれをシステムに組み込むことを考えた時にいったいどこに使えるだろうと悩んでしまいました。

例えば、サンプルで使用しているXMLはルートタグの id属性に "ID0001"、"ID0002"、…と振っていますが、実際にこれをシステムに導入しようと思うと、このIDを管理するために別のもの(例えばRDBなど)が必要になってくるように思います。

ここでは、サンプルなのでこういった例になっているのだと思いますが、この例だけでは実際のシステムに組み込む場合のメリットが見えません。(デメリットの方が大きいように感じてしまいます。)
正直、これまで通りRDBにBLOBのカラムを作ってXML文書を掘り込んだ方がよっぽど使い道があるように見えます。(そのまま取り出してパーサにかければ、この例と同じことは十分できる。)


具体的な使用方法も嬉しいのですが、まずはXMLデータベースを使えば何が嬉しいのかといったあたりが知りたいです。


P.S. 参照元記事ですが、同じ参照記事でもURLが1ページ目のものと2ページ目のものなど別のページにしてしまうと、一緒の「同じ記事を参照しているスレッド一覧」に入りません。何とか改善できないでしょうか?
しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 2002-06-28 16:19
XML DBを使えることがうれしいのではなく、あらゆるインタフェースをXMLにそろえることができる「かもしれない」のがうれしいんではないかと。実体が XML DB だろうと、ネットワーク上だろうと、アクセスの API およびデータ構造は XML で一本化できる、とか。

はー、LDAP 上のデータも DB 上のデータもクライアントから上がってくるデータも XML だと、幸せだろうなぁ…。わけわかになりそうな気もしますが。
ふうた
大ベテラン
会議室デビュー日: 2001/08/23
投稿数: 198
お住まい・勤務地: 岡山
投稿日時: 2002-06-28 17:03
しょむさん、こんにちは。

確かにすべてのインタフェースがXMLで統一されるのは私も嬉しいとは思っています。
ただ、私は、XMLデータベースは「XMLインタフェースをもつDB」でなく「XML文書を保存するDB」だと思っています。
(結果的にはXMLデータベースも前者の機能を持ち合わせていると思いますが、前者だけならどこぞのRDBにもありそうですし…)

それで、私が知りたかったのは XMLデータベースを実際のシステムに組み込むとすれば、どういう役割を持たせるのだろうかというところです。(RDBの代わりとはならないでしょうが、だとしたら何に使えるのでしょうか?)

#ちょっと説明が上手くないですが、意図は理解していただけるでしょうか?



話はそれますが「インタフェースがXMLで統一される」という意味では、個人的にはブラウザからサーバに送られるフォームデータが早くXMLにならないかなと待ち望んでいます。
当然、その時には(ブラウザの標準機能で)送信されるXMLに電子署名が付けられることを期待しています。
しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 2002-06-28 17:28
ん〜、それは、「XMLの形式を生で保存・検索できることにアドバンテージがあるような適用分野はどこか」ってことですね。

たとえば、構造の柔軟性が高くて、かつその内容で検索や処理をしたい場合。RDB だと構造が固定なので、柔軟な対応ができないことがありますよね。

「あるカラムがあるんだけど、ほとんどの場合は省略できるのに、使うときは1000個とかデータが入る…」なんてものだと、RDB だとちょっと悩みますよね。まぁ考えりゃできないこたーないんですが。もっと単純に「一人のひとに、名前、連絡先、電話番号をいくつでも入れられる住所録。将来的にはもっとデータ形式が拡張されるかも」でもいいかも。あと、入れ子やツリー構造にしたいデータとか。
@IT新野
@ITエディタ
会議室デビュー日: 2001/07/27
投稿数: 66
投稿日時: 2002-06-28 19:25
XML担当の新野です。XMLDBの用途をどうするかは、たしかに答えの出にくいところですね。
私もXMLDBベンダの方にときどきお聞きしたりします。

典型的なのは、「データそのものがすでにXML化されているもの」だそうです。つまり、
今だとBtoBなど。取り引きの途中で「発注した、しない」といったすれちがいを防ぐ
ためには、証拠としてXML文書をまるごとそのまま保存すべきで、RDBにマッピングし
て保存しておくのでは、証拠としての役に立ちにくいと思われるからです。
署名付きのまま保存できたらいいですよね。

あとは、一般にXMLDBはオブジェクトのキャッシュ機能がついているので、Webサーバ
とRDBのあいだに入れて、高速化のためのキャッシュにする、なんてのもあるそ
うです。

いずれにせよ、Webサービスが発展していけば、いやでもデータはどんどんXML化
していかざるを得ないので、その記録という用途は結構有望かと思いますが、どう
ですか?
未記入
ぬし
会議室デビュー日: 2002/03/28
投稿数: 255
投稿日時: 2002-06-28 19:31
>ん〜、それは、「XMLの形式を生で保存・検索できることに
>アドバンテージがあるような適用分野はどこか」ってことですね。
RDBで保存し難いデータ,でしょうね.
つまり,RDBの世界でいう正規化しにくいデータがそれ.

例えば,XBRLやNews-MLのようないわゆる「文書」がそうだし,
S-ITなんかのPOIデータも本質的にはそうです.

1-2-3やエクセルのような表計算で扱える帳簿のようなデータは
XML化するメリットがほとんどなく,今後もRDBでいくだろうと
言われてますし,私もそう思います.
ふうた
大ベテラン
会議室デビュー日: 2001/08/23
投稿数: 198
お住まい・勤務地: 岡山
投稿日時: 2002-07-01 16:10
こんにちは。

#ちょっと反応が遅れてしまいましたが。。。

引用:

しょむさんの書き込み (2002-06-28 17:28) より:
ん〜、それは、「XMLの形式を生で保存・検索できることにアドバンテージがあるような適用分野はどこか」ってことですね。

たとえば、構造の柔軟性が高くて、かつその内容で検索や処理をしたい場合。RDB だと構造が固定なので、柔軟な対応ができないことがありますよね。

「あるカラムがあるんだけど、ほとんどの場合は省略できるのに、使うときは1000個とかデータが入る…」なんてものだと、RDB だとちょっと悩みますよね。まぁ考えりゃできないこたーないんですが。もっと単純に「一人のひとに、名前、連絡先、電話番号をいくつでも入れられる住所録。将来的にはもっとデータ形式が拡張されるかも」でもいいかも。あと、入れ子やツリー構造にしたいデータとか。




そうです。まさにこういったことを期待しているのですが、Xindiceでこの期待に添えられるかどうかというとサンプルを見る限りちょっと違っているような気がします。
(他のXMLDBは知らないのですが…)

引用:

@IT新野さんの書き込み (2002-06-28 19:25) より:
典型的なのは、「データそのものがすでにXML化されているもの」だそうです。つまり、
今だとBtoBなど。取り引きの途中で「発注した、しない」といったすれちがいを防ぐ
ためには、証拠としてXML文書をまるごとそのまま保存すべきで、RDBにマッピングし
て保存しておくのでは、証拠としての役に立ちにくいと思われるからです。
署名付きのまま保存できたらいいですよね。



確かにそう思います。でも、これってRDBでもBLOBのカラムを作ってそこにXMLデータを丸ごと掘り込めばできそうですが・・・(実際、今はそうしています。)


やはり、このあたりはまだまだ発展途上でみんなが試行錯誤して道を探っているというところなのでしょうか?
masaki
常連さん
会議室デビュー日: 2001/12/10
投稿数: 26
投稿日時: 2002-07-10 22:54
 Xindice(XMLDB)について数日前に勉強を始めたばかりなので、間違った認識があるかも
しれませんが・・・。

> 確かにそう思います。でも、これってRDBでもBLOBのカラムを作ってそこにXMLデータを丸ごと掘り込めばできそうですが・・・(実際、今はそうしています。)

この方法の場合、まずRDBのSQLクエリーだけではそのXMLドキュメントの「内部」までは
検索できないのですよね?
ということは、例えばどのXMLドキュメントに格納されているのか分からないノードを
検索したい場合は、SQLで「SELECT BLOBカラム・・・」してからカーソルを回しつつ、
1件1件かたっぱしからXMLドキュメントを開いてXPath検索していく必要があるという
ことでしょうか?

個人的にはXindice(に限らずXMLDB全般)の最大のメリットは、
「複数ドキュメントにまたがったXPath検索が可能」
「RDBスキーマやファイルシステムという外部的な制約なしに、あらゆるノードが
(1つのrootを基点にして)検索可能」
だと思っています。

スキルアップ/キャリアアップ(JOB@IT)