Frage

Ich plane, eine große Anzahl von eindeutigen Schlüsseln einfügen (~ 3E9) in einem BerkeleyDB JE Datenbank.

Die Tasten haben eine feste Länge (~ 10 Bytes), aber die Werte werden eine variable Länge haben. Die Datenbank wird nicht transaktionale sein.

Was Parameter würde vorschlagen, Sie für die EnvironmentConfig und die DatabaseConfig für die Größe zu optimieren und die Geschwindigkeit meiner Datenbank?

Vielen Dank,

Pierre

War es hilfreich?

Lösung

OK, fand ich die Lösung, die das Dienstprogramm com.sleepycat.je.util.DbCacheSize verpackt in 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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top