nimbus-eth1/nimbus/db/core_db
Jacek Sieka 19451cadff
rebalance rocksdb cache sizes (#2557)
Based on some simple testing done with a few combinations of cache
sizes, it seems that the block cache has grown in importance compared to
the where we were before changing on-disk format and adding a lot of
other point caches.

With these settings, there's roughly a 15% performance increase when
processing blocks in the 18M range over the status quo while memory
usage decreases by more than 1gb!

Only a few values were tested so there's certainly more to do here but
this change sets up a better baseline for any future optimizations.

In particular, since the initial defaults were chosen root vertex id:s
were introduced as key prefixes meaning that storage for each account
will be grouped together and thus it becomes more likely that a block
loaded from disk will be hit multiple times - this seems to give the
block cache an edge over the row cache, specially when traversing the
storage trie.
2024-08-12 05:52:09 +00:00
..
backend rebalance rocksdb cache sizes (#2557) 2024-08-12 05:52:09 +00:00
base Provide portal proof functionality with coredb (#2550) 2024-08-07 11:30:55 +00:00
README.md Core db reorg (#2444) 2024-07-03 15:50:27 +00:00
TODO.md Core db reorg (#2444) 2024-07-03 15:50:27 +00:00
base.nim Provide portal proof functionality with coredb (#2550) 2024-08-07 11:30:55 +00:00
base_iterators.nim Separate config for core db and ledger (#2479) 2024-07-12 13:12:25 +00:00
base_iterators_persistent.nim Separate config for core db and ledger (#2479) 2024-07-12 13:12:25 +00:00
core_apps.nim small cleanups (#2526) 2024-07-26 12:32:01 +07:00
memory_only.nim Separate config for core db and ledger (#2479) 2024-07-12 13:12:25 +00:00
persistent.nim Coeredb related clean up and maint fixes (#2360) 2024-06-14 11:19:48 +00:00

README.md

Core database

Layout of CoreDb descriptor objects

Objects dependence:

    CoreDbRef                           -- Base descriptor
     | | |
     | | +--- CoreDbCtxRef              -- Context descriptor
     | |       | | | |
     | |       | | | +--- CoreDbKvtRef  -- Key-value table
     | |       | | |
     | |       | | +----- CoreDbMptRef  -- Generic MPT
     | |       | |
     | |       | +------- CoreDbAccRef  -- Accounts database
     | |       |
	 | |       +--------- CoreDbTxRef   -- Transaction handle
     | |
     | +----- CoreDbCtxRef
     |         : : : :
     |
     +------- CoreDbCtxRef
               : : : :