Search code examples
javarocksdbleveldb

Why SST needs multiple datablock


Got confused at the design of SST in LevelDB.
As I known, there are multiple datablocks in a SSTable.
What is the advantages of multiple datablocks.
Thanks.


Solution

  • When you have multiple data block in one .sst file you can compress those blocks and decompressed them on the fly. Keeping the block uncompressed in a dedicated cache is also possible.

    If you had one unique data block this would be less efficient (decompression is not free) and would increase cache pressure.