Skip to content

Reduce DB Size Of Archive Nodes

yihuang edited this page Dec 18, 2022 · 3 revisions

Let's focus on db size issue of archive nodes.

Delete Orphan Records

Using compaction filter to delete orphan records (cmd in cronosd) can save around 24% db size, it has no effect on main operations, but pruning old version won't work anymore, we'll provide new tools to do pruning without relying on those orphan records.

Offline Compaction

By default the sst file sizes are capped at 65m, so we end up with lots of sst files, before we turn the options in the binary, we can do offline compaction to rewrite the sst files with more efficient parameters:

  • Bigger file size: 300+M
  • Bigger block size: 32k
  • Higher compression: zstd with preset dictionary, need rocksdb v7.

It can be done using cronosd in this PR

cronosd compact-db /path/to/application.db