1

ディレクトリ パスによく似たキー (「/foo/bar」、「/foo/baz」など、スラッシュのレベルは通常 10 未満) を使用して BDB のインデックスを作成します。

これに Btree プレフィックス比較ルーチン [1] を使用した経験がある人はいますか? 節約は価値がありますか?このテーマに関する経験論文への参照はありますか?

[1] http://www.stanford.edu/class/cs276a/projects/docs/berkeleydb/ref/am_conf/bt_prefix.html

4

1 に答える 1

1

ここで、OTN の Berkeley DB フォーラムに質問を投稿してください。このフォーラムで直接やり取りする、サポート、エンジニアリング、および BDB アプリケーション開発者の活発なコミュニティがあります。

BDB XML 製品での Btree プレフィックスの使用について、顧客から聞いた話では、内部 btree ノードのサイズを大幅に削減でき、キャッシュの効率も向上し、I/O が減少するため、効率が向上するということです。個々のキー検索の。これは、ここにある btree プレフィックス関数に関するドキュメントにも記載されています。パフォーマンスの向上の程度は、a) データ、b) アプリケーションのデータ アクセス パターンによって異なります。キー値がほぼ同じであれば、btree インデックスのスペースを節約できます。データ アクセス パターンが多くのキー ルックアップを実行し、btree を小さくすることで実行する必要がある I/O の数を減らす場合、それに応じてパフォーマンスが向上します。

btree プレフィックス関数を提供する場合は、互換性のある btree 比較関数も提供する必要があることに注意してください。

BDB XML では、btree サイズが 20 ~ 30 減少しました。

Berkeley DB でデフォルトで使用される辞書式キー比較/プレフィックス関数は、必要な動作を既に提供している場合があります。

研究頑張ってください。

于 2011-04-21T04:47:29.580 に答える