名前はよく聞くけど、どんな実装なのか・なんの役に立つのかいまいち実感できてない単語集にXMLDBとAOPとかがあります。
今日はXMLDBの記事を見つけたのでメモ。
http://codezine.jp/a/article/aid/922.aspx
この記事で紹介されているのはluxeonみたいです。
ちなみに日本語で検索するとこっちのほうが有名。
後おなじみwikipediaへのリンクを張っとく。
数年前の最後の記憶によると、なんやら大量のデータを入れるとパフォーマンスがいまいちだったり、自分自身がそんなマニアックな実装を必要としていなかったので、完全対象外でした。
が、マシンパワーの増大やら負荷分散やらで、実用的になってきたらしいといううわさを聞いたので、最近少し注目。
最近CMSを利用したサイトというのを何件か見たりもしたので、そういうときにこのXMLDBは威力を発揮すると思った。
実は普通のCMSで作られているサイトというものはそれほどレスポンスが追求されない(というか、そんな複雑なことしない)ので、現状のXMLDBでも十分すぎるだろうと思う。
CMSの拡張の主たる作業は、対応するデータの格納場所を作る(DBスキームの拡張)と、それをテンプレートかする作業。
多くの場合問題になるのはDBの拡張で、一度作ったサイトにかんしてもう一度拡張させようとすると割りと厄介なことになることが多い。
そこが例えばXMLDBであれば、拡張に関するリスクはだいぶ減るのかと思う。
また、XMLDBのスキームレスである点をうまく使えば、ユーザ自身でスキーム拡張(実際はスキームレスなので変な感じだが)が簡単にできるようになる可能性も高いかと思う。
具体的な実装については割愛するけども、あとはインターフェースの問題さえ解決すれば、開発者なしのCMSの実現も可能であると思う。
他にも色々と応用できる範囲は多そう。
時間ができたら実験してみたい。
4 Responses for "メモ:最近のXMLDB"
XMLDBって、schema-less、schema-lastであるのがいいとされているんだけど、将来XMLデータの構造変えたときに、問い合わせ文(XQueryとかXPath)とデータ構造との独立性(logical-independence)が保障されていないから、アプリケーション内で使っている問い合わせをすべて見直さなきゃいけないかもしれません。
単に新しいタグを増やす(テーブルにattributeを追加する)程度だったら、実際的に、XMLもRDBも変わりがないですよ。
>単に新しいタグを増やす(テーブルにattributeを追加する)程度だったら、実際的に、XMLもRDBも変わりがないですよ。
確かに言われてみるとそんな気がしないでもないような。
するとますますXMLDBってRDBとくらべて何が優位なんだろうか・・・・?
確実に優位なのは、XMLデータがportableという点でしょう。今まで、他にデータを記述するための共通言語ってなかったから。
うーん。なるほど。