Optimisation une base de données BerkeleyDB JE
-
10-10-2019 - |
Question
Je prévois d'insérer un grand nombre de clés uniques (~ 3E9) dans un base de données BerkeleyDB JE.
Les touches aura une longueur fixe (~ 10 octets) mais les valeurs aura une longueur variable. La base de données ne sera pas transactionnel.
Quels paramètres vous suggère pour le EnvironmentConfig et DatabaseConfig pour optimiser la taille et la vitesse de ma base de données?
Merci,
Pierre
La solution
OK, je l'ai trouvé la solution en utilisant l'utilitaire com.sleepycat.je.util.DbCacheSize emballé dans 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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow