私は以前、Oracle で Berkeley DB 製品のプロダクト マネージャーを務めていました。私はこれらの BDB データベースに 8 年以上取り組んできました。あなたがコピーした「宣伝文句」を質問に書きました。
商業的には、次のように使用されています (すべてを網羅しているわけではありませんが、頭の片隅にあるものです)。
- オートデスクは Mapquest で BDB XML を使用します
- Farelogix は予約システムに BDB XML を使用しています
- スターウッド ホテルは BDB XML を使用して、管理する施設に関する情報を管理します
- ジュニパーネットワークスは、NetScreen セキュリティ マネージャーで BDB XML を使用します。
- 契約上の制約により名前を挙げられないことが多い...
- 等々...
Berkeley DB XML は、オープン ソースの世界では比較的無視されてきました。その理由はわかりません。あちこちでいくつかのプロジェクトがあり、私が知っている公開されたものは何もありません。最近、 Emacs 内から BDB XML を使用する方法についての気の利いたブログ記事を見ました。セットアップが完了すると、テキスト エディター内で XML に対して XQuery ステートメントを対話的に実行できます。とはいえ、商用およびオープンソースでの使用には非常に適しています。
XQilla は、BDB の XML エンジニアが、私たちが何年にもわたって編み上げてきた他のいくつかの XML プロジェクトから作成されたプロジェクトです。XQilla は優れた XQuery および XML 解析ライブラリであるため、オープン ソース化 (Apache 2.0 ライセンス) しました。私たちはデータベース会社であるため、解析後に XML を取得し、それを Btree データベースに編成する部分と、クエリの最適化、インデックス作成、統計、およびその他の大量のコードに関する作業は、XQilla の下にありますが、 BDB の btree の上で、2 つを BDB XML に結合します。問題が解決する場合は、自由に使用してください。データベースはまったくありません。
XML 用にゼロから構築された製品は、通常、ディスク上の情報を管理するいくつかのトランザクション データ構造をコアに持っています。Berkeley DB でまだ実行できず、Berkeley DB XML で使用されていない最適化はほとんどありません。XML を管理するためにゼロから構築されたデータベースが BDB XML よりも大幅に優れていると言うのは、Berkeley DB に何かが欠けていると言っているのと同じです。ここに弁明の余地があるとは思いませんが、誰かが、BDB がまだ実装していない、効率的な XML ストレージにとって重要な並行トランザクション データ構造に関する情報を持っています。
eXist は Java XML データベースです。必要に応じて Java JNI API を用意しています。パフォーマンス、安定性、スケーラビリティのテストでは、通常、eXist に勝っています。
Sedna は優れた XML データベースです。これは Apache 2.0 であるため、デュアル ライセンスではなく、単なる FLOSS ソフトウェアです。BDB XML に対してベンチマークすることをお勧めします。驚くかもしれません。
MarkLogic は優れた XML/XQuery データベース サーバーであり、非常に堅実な製品を構築しています。これはソフトウェア ライブラリではなく、サーバーです。BDB XML と MarkLogic には大きな違いがありますが、どちらも市販されており、BDB XML のみがオープン ソースです。
XML データベースの状態に関する Elliot Rusty Harold のブログについて誰かが言及していましたが、これは 2007 年頃のことであることに注意してください。;-)
Kimbro Staken の古いが、まだ適切なレビュー( Oracle によってホワイトペーパーに変更された) を見てみましょう。「XML データにネイティブ XML データベースを使用する: XQuery ベースのネイティブ XML データベースが SQL データベースより優れている場合の判断」
長年にわたる真の権威はロン・ブーレットでした。彼はこの件に関して言いたいことがたくさんあります。
MongoDB と CouchDB は、異なる市場セグメントにあります。彼らは、分散、分割、最終的に一貫性のある BASE スタイル (非 ACID) のデータ管理を行っており、それを非常にうまく行っていると考えている人もいます。彼らは若いと思います。陪審員はまだ出ていません。彼らは良いスタートを切っており、私は彼らが成長し続けることを願っています. BDB XML の分散型ストーリーは、単一マスター、複数レプリカ、常に一貫性のある (必要に応じて) ログベースのレプリケーション、およびマスターに障害が発生した場合の PAXOS ベースの選択アルゴリズムに基づいて構築されています。データを分割しません。すべてのノードには同じデータ (データベース全体) が含まれます。どこでも書き込みを許可するのではなく、マスターでのみ許可します。レプリケーション用に TCP/IP 以外にもサポートしています (まあ、必要に応じて、サーバーにカスタムのハードウェア バスを使用できます)。私たちは、読み取りスケーラビリティ、システムの可用性、耐障害性を解決するために HA 製品を構築しました。NoSQL の分散システムは、書き込み場所を問わずに分割されたデータ管理用に設計されています。選択は良いですよね?:)
データ スキーマとしての XML と、XML コンテンツにアクセスして管理するための言語としての XQuery は、非常に成功したソリューションであり続けています。最近の NoSQL ソリューションを使用しているより一般的な Web サイトではそれほどでもないかもしれませんが (これは問題なく、私にとっては興味深いことです)、ドキュメント管理、金融、ゲノミクス、バイオインフォマティクス、データ交換、メッセージングなどの多くの分野ではそうです。XML は、SQL/リレーショナル製品と比較するとニッチなデータベースかもしれませんが、オブジェクト データベースやブロック NoSQL データベース ソリューションの新しい子供よりもはるかに成功していることは確かです。すべてのストレージ ソリューションにはそれぞれの場所があり、XML は将来にわたって有用なことを行い続けます。
結局のところ、ニーズに合ったデータベースを選択していただければ幸いです。