- - PR -
XMLDB:製品間のメリットデメリット
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-12-01 16:43
なるほど。 まあでも、スキーマが決定しないような状況ではパフォーマンスを求める ようなことも無いかと思いますが、使い物にならない位遅いのでしょうか? 前に私がXISを使った案件をやって思ったことは、「なにもデータの全てを XMLで格納する必要は無いのではないか」ということでした。つまり、 フォーマットが変わる可能性があまり無いところはRDBに格納し、まだ フォーマットが決めきれていないようなところやレコードによってフォーマットが 変わってしまうようなところはXMLとしてNXDBに格納する、というハイブリッド 型(?)のアーキテクチャです。 RDBに格納した部分はRDBの良さを生かせますので、検索対象になるデータは 出来ればこちらに入れたほうが良いでしょうね。XMLデータの方は、まとめて 全文検索のミドルウェアなどを入れて面倒を見る、という感じで。 | ||||||||
|
投稿日時: 2003-12-01 17:02
似たようなことを考えていました。 私の場合は RDB 寄りのアプローチで、決まっていて、しかも高速に検索するものはカラムを取ってそこに入れ、それ以外(もしくはデータ全体)は XML のまま、NXDB どころかもっとプリミティブに LOB として扱う方法です。 DOM として扱いたい場合は再パーズ、ないし、Serializable オブジェクトとして BLOB に入れておいて復元です。 オンメモリで処理できるものは、いくらチューンされているとは言えディスクアクセスを伴う DB 処理より充分高速だろうという前提ですが ![]() | ||||||||
|
投稿日時: 2003-12-01 20:37
なぜ遅いかというと、インデックスが張れないからだそうです。なので、遅くなるといっても その程度?のようです。(実際に試していない&ベンチマークなどは入手していません) その辺、NeoCoreはフル「オート」インデックスということで、スキーマの有無に関係 なく、早く検索できると言っていました。(の、前にスキーマを扱えませんが。。) [ メッセージ編集済み 編集者: bunbun 編集日時 2003-12-01 20:41 ] | ||||||||
|
投稿日時: 2003-12-01 21:09
なるほど。RDBMS製品だけで済ませるには理想的な案ですね。 CLOBでテキスト形式のXMLを入れるか、もしくはBLOBでシリアライズしたDOMオブジェクトを 放り込んでしまうか、、、後者はちょっと乱暴かな(笑)。 ただ、前者のアプローチの場合、Oracle9iだとXML Typeが使えますね。 そうすると、XMLの更新以外については解決できますねえ。 良い案かも ![]() | ||||||||
|
投稿日時: 2003-12-01 21:11
なるほど。インデックスの有無ですか。 まあ、これだけだと「検索がインデックス使えないので遅いよ」とも取れますが、XISを使った経験上は ただの検索でもXPathに複雑な条件を設定しているととんでもなく(分単位とか)遅くなったりして、 だとすると開発フェーズでも十分に実害があるのかな ![]() | ||||||||
|
投稿日時: 2003-12-02 00:07
試してはいないのですが、XPathの書き方やXQueryの書き方はどうにでもできるので 検索式の内容によっては大きく左右するだろうなぁと思います。同感です。 結局XMLDBって現状では、製品によってかなり大きく特徴の違いがありますよね。 この違いを見極めながら使っていくのってなんか,難しいなぁと感じています。 (RDBはそこまで違いが無いですよね?) XPathの話もそうですが、検索が早いといっているXMLDBは、特別な検索アルゴリズム? を使っているようですので、そこにマッチすると超早いみたいですが、外れると並?に なるようです。 自社のXMLDBでどこまで早くできるか、必要ならチューニングのご相談にも乗りますという会社 さんもありました。XPathやXMLの構造自体も工夫の余地があると。 XMLって何でもできる反面、きちんと使わないとRDB以上に、技術力の差が出そうですね。 | ||||||||
|
投稿日時: 2003-12-02 01:32
そうですね。 XISでもインデックスの張り方とXPathの条件式の書き方をうまくやらないと、 インデックスが使われなかったりするそうで、そこはコンサルタントの人に 色々教えてもらいました。
製品に関するノウハウという点では、RDBMSに関してはかなりのユーザ (SIerなど)が既に蓄積したものがあると思うのですが、XML DBMSはあまり 普及していない&製品が新しい分だけユーザにノウハウがなく、 コンサルティングなどを受けないで下手に使うと火傷をする、ということ なのかなと思います。 XML DBはコンサルティングを受けて設計やチューニングを行うために追加で 費用を払う、ということも念頭において予算を考えなければいけないのかも しれませんね。 [ メッセージ編集済み 編集者: おばけ 編集日時 2003-12-02 01:33 ] | ||||||||
|
投稿日時: 2003-12-06 19:22
なるほどー。 XMLDBって商用のはほとんどがRDBMSより高いですよね。それに追加して コンサルティングも受けないといけないとなると。。。。。 なかなか手の出ない代物になりそうですね。 早く普及して安くなるのを待つのがよいのか。。Xindiceなどの無償DBでまずは 感触をつかみ、勉強するのが良いのか。どうなんでしょうね(笑) |