提案された3つのデータベースは、その性質が大きく異なります。RDBMSとしてHibernateをORMとして使用し、db4oをオブジェクトデータベースとして使用し、RavenDBをドキュメントデータベースとして使用するSQLCE。それぞれに長所があります。
SQL CE&NHibernate-コンボ
良い点:
- ツール、知識、大きなコミュニティでの非常に優れたサポートがあります
- MSSQLサーバーへのアップグレードが簡単
- 極限の優れたレポートサポート
- SQLの力
悪い人:
- マッピングが必要
- OOとリレーショナルワールドの間のマッピングは簡単ではなく、複雑なモデルで問題が発生する可能性があります。
RavenDB
いいもの:
- マッピングは必要ありません
- 使いやすい
- 強力なインデックス作成
- JSONとHTTPアクセス
悪い人:
- ドメインがドキュメント指向のアプローチに適合しない場合、それは非常に苦痛になります
- .NET Frameworkクライアントプロファイルをサポートしていません(OPの質問は組み込みデータベースに関するものであるため、これは特に重要です)
db4o
いいもの:
- マッピングは必要ありません
- 使いやすい
- ストレージモデルはオブジェクトモデルに近いです。これは、非常に複雑なモデルでも機能します。
-
悪い人:
Afaikは3つすべてがLINQとPOCOファーストのアプローチをサポートしています。ただし、NHibernateとSQL CEにはまだ大量のマッピングが必要なため、摩擦がないわけではありません。
POCOファースト、LINQサポート、組み込みの使用法、使いやすさに焦点を当てている場合は、RaveDBまたはdb4oを試してみます。「安全性」、コミュニティの知識、ツールのサポート、およびレポートに焦点を当てている場合は、NHibernateとSQLCEを使用します。