今後のプロジェクトのために、db4o ( http://www.db4o.com ) と Eloquera Database ( http://eloquera.com ) の2 つのオブジェクト データベースを評価しています。私はどちらかを選ばなければなりません。私の基本的な要件は、スケーラビリティ、マルチ ユーザー サポート、および RAD の簡単な型の進化です。
あなたの実体験を共有してください。
両方持っているなら、この2つを比較できますか?どっちがいい?
今後のプロジェクトのために、db4o ( http://www.db4o.com ) と Eloquera Database ( http://eloquera.com ) の2 つのオブジェクト データベースを評価しています。私はどちらかを選ばなければなりません。私の基本的な要件は、スケーラビリティ、マルチ ユーザー サポート、および RAD の簡単な型の進化です。
あなたの実体験を共有してください。
両方持っているなら、この2つを比較できますか?どっちがいい?
過去 2 年間、私は DB4O を使用してきましたが、現在は Eloquera に切り替えています。私の理由は次のとおりです。
私は商用製品を構築していますが、DB4O のロイヤリティ ベースのライセンスは高すぎます。DB4O は「それについて話す」ことができると言っていましたが、私は非常に小さな開発ショップであり、完全に優れた代替手段がある場合、販売ごとに膨大な量を提供することは意味がありません.
ビルド後のステップで Db4oTool.exe を使用してアセンブリを変更していますが、ビルド プロセスが非常に遅くなります。Eloquera は私のアセンブリを変更する必要はありません。
DB4O のコードにバグが見つかり、コードベースに統合されるまでに何ヶ月もかかりました。Eloquera でバグを発見し、1 日か 2 日で修正されました
DB4O はまだ .NET 4 に対応していません (ただし、最終的に初期のベータ版があります)。DB4O は、VS2010 (および .NET 4) の使用を妨げている唯一のものです。VS2010 に移行しようとしましたが、VS2010 はすべての単体テストを .NET 4 に自動的に変換するため、永続性関連の単体テストはすべてすぐに失敗しました。
DB4O は実際にはスレッドセーフになるようには設計されていません。
DB4O には、明らかに Java から移植された機能と多くの API 機能があります。
ロバート
Eloquera(www.eloquera.com)は、もともとWeb環境で使用するために設計および開発されたもので、C#のネイティブ.NETアプリケーションとして設計されています。
Eloqueraは、他の多くのデータベースほどJavaから移植されていませんでした。
アーキテクチャの一部としてネイティブにEloqueraは以下をサポートします:
EloqueraはAPIの観点から同じことを実行できるため、市場で最も簡単なデータベースであるDB4OについてCarlと議論するかもしれません。
EloqueraはVersantよりも若く、まだいくつかのエンタープライズ機能が提供されています。
先月、EloqueraのR&D部門は、Eloquera Parallel Serverと連携して、VersantのVODよりもはるかに安価な水平スケーリングを提供しました。
いくつかの際立ったポイント
db4o のユーザー エクスペリエンスに興味がある場合は、db4o ユーザー フォーラムで質問することをお勧めします。
db4o は元々、リソースが限られているアプリケーションでの組み込み用に開発されました (現在は、Android、CompactFramework、Silverlight などの制約のあるプラットフォームで非常にうまく動作します) が、Web アプリケーションに db4o を喜んで使用している多くのユーザーがいることを私は知っています。
実際、leatrop による db4o-bashing-post にはある程度の正確性があります。現在、db4o サーバー コアでは、特定のデータベースにタスクを格納およびクエリするために 1 つのスレッドしか入ることができません。
ただし、db4o アプリケーションを非常にうまくスケーリングする方法がいくつかあり
ます。db4o レプリケーション システム (dRS) を使用して、複数のデータベース間でオブジェクトを分散できます。実行中に db4o データベースのバックアップを作成し、これらのバックアップを複数のマシンに複製することもできます。複数のデータベースを使用するアプローチ (データのタイムスライス用またはアプリケーションのさまざまなユースケース用) は、バックアップとデバッグの目的に非常に適しています。ライブ アプリの一部の側面のみをテストする場合は、データベース全体をコピーする必要はありません。
それでも db4o が同時ユーザーまたはデータベース サイズに対して十分に拡張できない場合は、後でハイエンド オブジェクト データベースVersant VODに切り替えることができます。クラウドで実行するように構築されており、数テラバイトのデータベースを使用する何千もの同時ユーザーに対して機能する実績があります。VOD for .NET には LINQ プロバイダーも付属しているため、db4o と VOD のインターフェースは互換性があります。
私の推奨事項: db4o から始めてください。これは、開始して開発するのに最も簡単なオブジェクト データベースです。スキーマやマッピング ファイルを設定せずに、1 行のコードで任意のオブジェクトを保存するだけです。LINQ を使用してクエリを実行します (または、Java を使用している場合はネイティブ クエリ)。
db4o はオープン ソースであり、無料です (GPL の下で)。