java - 优化 BerkeleyDB JE 数据库

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

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

键的长度是固定的(~10 字节),但值的长度是可变的。数据库不会是事务性的。

您会为 EnvironmentConfig 建议哪些参数?和 DatabaseConfig用于优化我的数据库的大小和速度?

非常感谢,

皮埃尔

最佳答案

好的,我找到了使用打包到 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

关于java - 优化 BerkeleyDB JE 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4178774/

相关文章:

java - 如何在 ListView 中向具有多个声音的Android onclick添加音频

performance - 数学算法

apache - 预期 </VirtualHost> 但看到 </Directory>

java - JfreeChart 中的自动缩放 Y 轴

java - Gradle Tomcat 插件依赖

java - 将 Java 对象映射到对象的更好方法

c++ - 全局变量是否意味着更快的代码?

mysql - 出于性能原因,SQL JOIN 是否应该按特定顺序放置?

configuration - 如何配置logback以自动gzip日志?

configuration - gpg2 : How to use another secret and public keyring?