BerkeleyDB JEデータベースに多数の一意のキー(〜3E9)を挿入する予定です。
キーの長さは固定(〜10バイト)ですが、値の長さは可変です。データベースはトランザクションではありません。
データベースのサイズと速度を最適化するために、 EnvironmentConfigとDatabaseConfigにどのようなパラメーターを提案しますか?
どうもありがとう、
ピエール
BerkeleyDB JEデータベースに多数の一意のキー(〜3E9)を挿入する予定です。
キーの長さは固定(〜10バイト)ですが、値の長さは可変です。データベースはトランザクションではありません。
データベースのサイズと速度を最適化するために、 EnvironmentConfigとDatabaseConfigにどのようなパラメーターを提案しますか?
どうもありがとう、
ピエール
OK、berkeleyDB-JEにパッケージ化されたユーティリティcom.sleepycat.je.util.DbCacheSizeを使用して解決策を見つけました
java -cp je-4.0.103.jar com.sleepycat.je.util.DbCacheSize -records 3000000000 -key 8
Inputs: records=3000000000 keySize=8 dataSize=-1 nodeMax=128 binMax=128 density=80% overhead=10%
=== Cache Sizing Summary ===
Cache Size Btree Size Description
--------------- --------------- -----------
206,574,616,257 185,917,154,632 Minimum, internal nodes only
231,821,163,884 208,639,047,496 Maximum, internal nodes only
To get leaf node sizing specify -data
=== Memory Usage by Btree Level ===
Minimum Bytes Maximum Bytes Nodes Level
--------------- --------------- ---------- -----
184,101,562,500 206,601,562,500 29,296,875 1
1,797,864,968 2,017,591,304 286,102 2
17,551,212 19,696,236 2,793 3
169,668 190,404 27 4
6,284 7,052 1 5