41

現在使用している Berkeley DB の代わりに使用できる dbm のようなライブラリを探しています。私が切り替えた主な理由は、BDB のライセンス料がかなり高いことです (オープン ソース アプリは無料ですが、雇用主はさまざまな理由でこの特定のアプリをオープン ソース化することを望んでいません)。

qdbm を簡単に調べましたが、多くのキー (数百万) と大きなデータ項目 (> 1 ~ 5 メガバイト) のニーズを満たすとは思えません。検索を続ける前に、dbm のようなライブラリがたくさんあるようです。

4

9 に答える 9

30

C/C++

ジャワ

于 2014-08-08T09:59:21.567 に答える
18

あなたは東京内閣を見ることができます。これは qdbm/gdbm の後継であり、拡張する場合は、優れたネットワーク フロントエンドを利用できます。

編集:

別の変種は京都内閣です。同じ人によって開発されましたが、おそらく使いやすいです。

于 2008-11-14T15:16:12.220 に答える
11

SQLiteはパブリック ドメインです。つまり、あらゆる目的に使用でき、広く使用およびサポートされています。

于 2008-11-04T03:46:34.790 に答える
9

任意の dbm (qdbm も含む) のパフォーマンスを大幅に改善し、単純なレベルの間接化で並列処理を改善できます。キーを取得してハッシュし、data_dir/H(key)/それらのキーを格納するデータベースとして使用するだけです。最良の結果を得るには、ハッシュ出力を小さな値 (たとえば) 255 に制限します。

このアプローチには多くの利点があり、簡単に要約すると次のようになります。

  • 概念的にシンプル
  • 実装とテストが簡単
  • 更新のためにデータベース全体をロックしません
  • より大規模なデータベースをサポート可能
  • DBM コンポーネントの交換が容易

ハッシュはおそらく暗号的に安全である必要さえありません。ほとんど均一です。ほとんどの場合、 DJB のcdb ハッシュはうまく機能します。

于 2008-11-14T16:00:07.717 に答える
3

JDBMを試すことができます。これは、ディスク永続性を備えた無料の (Apache 2) キー値ストアです。シンプルな API と高性能

于 2012-02-26T15:28:32.407 に答える
2

PostgreまたはHSQLDB、場合によってはH2 データベース

于 2008-11-14T15:22:47.777 に答える
0

db4o は非常に安価で高速ですが、Java または .net でのみ使用できます。

于 2008-11-04T03:47:06.957 に答える
0

の鳥はあなたの親友です。

于 2008-11-04T04:05:22.850 に答える