12

今後のプロジェクトのために、db4o ( http://www.db4o.com ) と Eloquera Database ( http://eloquera.com ) の2 つのオブジェクト データベースを評価しています。私はどちらかを選ばなければなりません。私の基本的な要件は、スケーラビリティ、マルチ ユーザー サポート、および RAD の簡単な型の進化です。

  1. あなたの実体験を共有してください。

  2. 両方持っているなら、この2つを比較できますか?どっちがいい?

4

4 に答える 4

16

過去 2 年間、私は DB4O を使用してきましたが、現在は Eloquera に切り替えています。私の理由は次のとおりです。

  1. 私は商用製品を構築していますが、DB4O のロイヤリティ ベースのライセンスは高すぎます。DB4O は「それについて話す」ことができると言っていましたが、私は非常に小さな開発ショップであり、完全に優れた代替手段がある場合、販売ごとに膨大な量を提供することは意味がありません.

  2. ビルド後のステップで Db4oTool.exe を使用してアセンブリを変更していますが、ビルド プロセスが非常に遅くなります。Eloquera は私のアセンブリを変更する必要はありません。

  3. DB4O のコードにバグが見つかり、コードベースに統合されるまでに何ヶ月もかかりました。Eloquera でバグを発見し、1 日か 2 日で修正されました

  4. DB4O はまだ .NET 4 に対応していません (ただし、最終的に初期のベータ版があります)。DB4O は、VS2010 (および .NET 4) の使用を妨げている唯一のものです。VS2010 に移行しようとしましたが、VS2010 はすべての単体テストを .NET 4 に自動的に変換するため、永続性関連の単体テストはすべてすぐに失敗しました。

  5. DB4O は実際にはスレッドセーフになるようには設計されていません。

  6. DB4O には、明らかに Java から移植された機能と多くの API 機能があります。

ロバート

于 2010-07-09T23:55:11.547 に答える
9

Eloquera(www.eloquera.com)は、もともとWeb環境で使用するために設計および開発されたもので、C#のネイティブ.NETアプリケーションとして設計されています。

Eloqueraは、他の多くのデータベースほどJavaから移植されていませんでした。

アーキテクチャの一部としてネイティブにEloqueraは以下をサポートします:

  • 同時ユーザーアクセス
  • セキュリティ設定
  • 本物のC/Sアーキテクチャを持ち、デスクトップモードを利用できます。
  • 最大データベースサイズ1TB以上、大規模なデータスケールでEloqueraは高速クエリ応答を維持します。仮想ファイルシステム、インデックス作成、アダプティブキャッシュなどの技術を申請中の特許を取得しています。Eloqueraには、MSILで記述された最先端のリフレクションがあり、Microsoftの標準リフレクションを使用する多くのデータベースよりも優れたパフォーマンスを発揮します。
  • 高速データ処理のためのインメモリデータベースをサポート
  • Webのユーザーのほとんどはリレーショナルデータベースの世界から来ているので、EloqueraがSQLとLINQをサポートするのは自然なことでした。
  • EFサポートは来月の予定です
  • 一部のデータベースとは異なり、int; int;からフィールドを変更した場合、Eloqueraはデータベースに盲目的にオブジェクトを配置しません。長くする; まだ2つのint;intが表示されるため、間違った結果でクエリを続行することはありません。-定義を更新するようにユーザーに通知します
  • Eloqueraは、プロパティとフィールドのネイティブインデックスを提供します。ほとんどのデータベースは、プロパティのインデックスを提供していません。

EloqueraはAPIの観点から同じことを実行できるため、市場で最も簡単なデータベースであるDB4OについてCarlと議論するかもしれません。

EloqueraはVersantよりも若く、まだいくつかのエンタープライズ機能が提供されています。

先月、EloqueraのR&D部門は、Eloquera Parallel Serverと連携して、VersantのVODよりもはるかに安価な水平スケーリングを提供しました。

いくつかの際立ったポイント

  • Eloqueraは商用利用は無料です。使用料を支払う必要はありません。上記のすべての機能は無料です。
  • Eloqueraには商用サポートがあります。
  • Eloqueraは、近代建築を備えた近代世界向けに設計されています。それは時々市場のニーズに適応していませんでした。それはEloqueraの建築の自然な部分です。
于 2010-06-07T11:38:50.670 に答える
0

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 の下で)。

于 2010-06-04T11:11:35.417 に答える