BerkeleyDB や Kyoto Cabinet などの単純な DBM ライブラリを探していますが、ネイティブに .NET で動作します。100 万件以上 (おそらく 1000 万件) のレコードを管理する必要があり、場合によっては階層的な方法で管理する必要があります (この最後の点は必須ではなく、線形構造で作業できます)。
そのようなものは存在しますか?
BerkeleyDB や Kyoto Cabinet などの単純な DBM ライブラリを探していますが、ネイティブに .NET で動作します。100 万件以上 (おそらく 1000 万件) のレコードを管理する必要があり、場合によっては階層的な方法で管理する必要があります (この最後の点は必須ではなく、線形構造で作業できます)。
そのようなものは存在しますか?
私はついにRaptorDBを見つけました、そしてそれは私のニーズにほぼ正確に一致します。完全にテストされた後、ここに私の評価を書き留めます。
編集:テスト後、期待どおりに機能していませんでした。実際には正確に機能していなかったので、私は自分のDBMを作成しました(常にこのようになります:))。マルチスレッド環境で、DBが頻繁に破損する問題(そして、はい、スレッドの安全性についてコードをチェックしました)。誰かが正のフィードバックを持っているなら、私は興味があります。
SQL Server Compact Editionは実行可能な選択肢ですが、「.NET でネイティブに動作する」とはどういう意味かわかりません.NET には組み込みデータベースがありません (DataTables と XML を数えない限り、私は数えません)。
What about System.Data.SQLite?
Windows を使用していると仮定すると、 ManagedEsent相互運用層を介して ESENT データベース エンジンを試すことをお勧めします。ESENT は Windows に組み込まれており、BerkelyDB と同様のレベルの機能とパフォーマンスを備えています。違いは、ESENT は単なるキー/値ストアではなく、列とインデックスが組み込まれていますが、ESENT にはレプリケーションがないことです。
私の会社は、Berkeley DB XMLライブラリ用の.NETレイヤーを構築しました。これは、 http://bdbxml.netからダウンロードできます。.NETで実行できる埋め込みXMLデータベースライブラリを取得し、必要に応じて異なる言語バインディングを使用して他のプラットフォームでデータベースを使用できます。興味がある場合は、ソリューションアーキテクチャをもう少しよく理解し、私たちがあなたに適しているかどうかを確認できるように、さらに要件について私に連絡してください。
よろしく