优化BerkeleyDB JE数据库

时间:2010-11-14 17:50:24

标签: java optimization configuration berkeley-db berkeley-db-je

我计划在BerkeleyDB JE数据库中插入大量唯一键(~3E9)。

键具有固定长度(~10个字节),但值的长度可变。数据库不是交易数据。

您建议EnvironmentConfigDatabaseConfig使用哪些参数来优化数据库的大小和速度?

非常感谢,

皮尔

1 个答案:

答案 0 :(得分:3)

好的,我发现解决方案使用实用程序 com.sleepycat.je.util.DbCacheSize 打包到berkeleyDB-JE

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