2009-05-09 4 views

答えて

16

条件はクレイジーなアイデア

  • ではありません。例えば、小説は構造を有する。章、段落、文章、言葉。あなたはプログラムで構造にアクセスしたいかもしれませんが、それをサポートするリレーショナルスキーマを作るのは難しいでしょう。

  • ほとんどのフィールドとテーブルは必要ありません。ほとんどすべてはオプションです。たとえば、すべての小説に悪人があるわけではありませんが、悪人の属性やタグはXML文書に追加するのに十分簡単です。

  • データ量が非常に少ない場合。

  • データは強く階層的です。組織図のXML文書を照会する方が、従業員表でそれ自体にリンクするマネージャー列を使用して同様の照会を行う方が簡単です。

例 - データストアとしてplain ole xmlを使用するDasBlog。リレーショナルモデルは

  • はあなたのデータのほとんどは、テーブルと列、フィールドのかなり少数にうまくフィットする方が良い示唆

    条件は、ほとんどのフィールドが必要とされています。

  • 多くのデータがあります。リレーショナル・ワールドは、XMLデータベースの世界よりもはるかに長いパフォーマンスで最適化されています。

あなたはそれを両方の方法

  • を持つことができる最近のほとんどのリレーショナルデータベースは、ファーストクラスのデータ型としてXMLをサポートしています。
+0

+1良い答え – KLE

1

this articleをご覧ください。お手数ですがあなたのデータは、文書のコレクションのように見える場合はXMLを示唆

1

私は、コンテキストなしでXMLをリレーショナルデータベースに使用することの本当のメリットを見ていません。

リレーショナルデータベースは、ほとんどの場合、操作に不便ですが、それらの要件を簡単に照会できます。データに対してクエリを実行する必要がない場合は、RDBMからの実際の使用はありません。リレーショナルデータベースに何枚の写真が貼り付けられていますか? jpegやpngで写真を保存する方が便利なのでしょうか?一方、イメージピクセルをXMLに保存するのは好きですか?

+0

(ネイティブ)XMLデータベースは、通常はXQueryを使用してクエリを実行できることに注意してください。 – StaxMan

+0

イメージをRDBMS内のバイト配列として格納するための1つの引数は、バックアップが扱いやすいことです。私は、ファイルシステム上のフォルダにユーザーからのイメージを格納したWebアプリケーションで作業していました。 DBとファイル用の2つのバックアップルーチンを用意するのは苦労しました。 – Leonel

2

XMLデータベースを頻繁に使用するオープンソース製品で作業する人として、私はXMLデータソースがプログラムで使用されている純粋なデータ構造を表現しているので非常に価値があると感じています。

XMLを使用すると、複雑な構造をコードでモデル化し、XMLに直接シリアライズして、どこかまたは後で読み込むことができます。具体的には、XMLで複雑な構造をエクスポートし、メモリ内にある。ODBMSORMのような他のオプションがありますが、これらのオプションには多くの利点がありますが、知識やパフォーマンスのオーバーヘッドがあります。

5

言及されていない1つの利点は、データが(RSSなどを介して)公開されるはずであれば、はるかに簡単だということです。データの主な用途が何らかのパブリックAPIのためのものである場合、または後でXMLとしてフォーマットされることになっている場合は、どうしてですか? HTMLテンプレートをいくつか保存したいとします。 をHTMLとして保存する方が簡単でしょうか?また、RDBMSのオーバーヘッドを節約し、データをXMLに処理することもできます。

ほとんどすべての読み込みとほとんど書き込みをしない場合でもXMLは大丈夫ですが、JSONなどのよりシンプルな形式は、実行していることによってより効率的です。

特に、多くのデータ操作が関係する場合、実際のデータベース(リレーショナル、オブジェクト指向、ドキュメント指向など)は、そのために構築されているため、はるかに効率的になります。 XMLは100,000,000行のデータを意味するものではありませんでした。

XMLを使用しているデータベースがある理由は、特にRSSフィードなどのように広く使用されている形式なのでです。前にも述べたように、データがXMLで終わる必要がある場合は、XMLとして保存して生活を楽にしてみましょう。

関連する問題