Tendis icon indicating copy to clipboard operation
Tendis copied to clipboard

Save disk read bandwidth for compaction by reading right types of keys

Open leonliao opened this issue 1 year ago • 0 comments

Description

When blobdb enabled, avoid consuming read disk bandwidth by just checking keys of RT_DATA_META type. It solves #234

Motivation and Context

The read bandwidth is too high when enabling the RocksDB's blobdb feature. And it is found out that it is partly because reading the blob values of large hash field value(> min_blob_size). And TTL for keys is only saved in RT_DATA_META type keys. This PR only reads blob values of RT_DATA_META type, saving read IO.

How Has This Been Tested?

Tested in lab, the bandwidth is significantly lower when using hash data types with large hash values.

Types of Changes

  • [ ] Bug fix (non-breaking change that fixes an issue)
  • [X] New feature (non-breaking change that adds functionality)
  • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

  • [X] Code follows the code style of this project.
  • [ ] Change requires a change to the documentation.
  • [ ] I have updated the documentation accordingly.

leonliao avatar Apr 17 '23 10:04 leonliao