Description
This is an experimental feature release based on v1.6.1-beta, with binary version: v1.6.100.
v1.6.1-beta-feature-ScalableDB introduces a multi-database architecture (scalaledb) that divides chaindata into four separate stores which incluing BlockDataBase(with meta), TrieDataBase, SnapDataBase and IndexDataBase according to data schema . Scalaledb provides stronger storage scalability. Different DBs can be allocated customized resources and tuned configurations. In particular, databases can compact independently, avoiding interference and improving read performance under heavy I/O.
Run
Run geth from genesis with "multidatabse" flag:
./geth --config config.toml --datadir data-seed init --multidatabase genesis.json
If you run geth from snapshot, you need to use migrate tool to convert an existing snapshot to the scalaledb layout with
./geth -datadir <your-data-dir> db migrate
. You can directly start after migration , no additional flags are required if your snapshot has already been migrated.
Performance Test Results:
In large-scale simulated benchmarks, Multi-DB improves Geth block sync performance by ~3.8%. Starting from the same block height, after seven days of syncing, the Multi-DB node was ahead by ~200,000 blocks.
Change Log
Assets
Assets | Sha256 Checksum |
---|---|
mainnet.zip | ce8507bfff1ed585777d248794a4a8f5142b8f2414600a369410b370da261744 |
testnet.zip | 9f79a1b6ea0751fbd516bc213a64c3efc802321b6cdae020e60964c7688de55c |
geth_linux | 38199d57b22f5c87dcd974e9083f3457ff65ff2deb41625ce4fb14f86946effb |
geth_mac | 3f74cec7974d611266f69a71728f5e3e8727c8566237536cc154ef0a5fb1a363 |
geth_windows | 9b5ee986e87eb9632fdbecb81fe968a3eb276c884e1c8b76d1b379ca1d94df81 |
geth_linux_arm64 | 0830d90c31678f6f4b351259c6bd76ea4c580fe8bacbda4988150bc92c9e1e3e |