TiKV uses RocksDB as its underlying storage engine for storing both Raft logs and KV (key-value) pairs.

TiKV creates two RocksDB instances on each Node:

  • A rocksdb instance that stores most TiKV data
  • A raftdb that stores Raft logs and has a single column family called raftdb.defaultcf

The rocksdb instance has three column families:

Column familyPurpose
rocksdb.defaultcfStores actual KV pairs for TiKV
rocksdb.writecfStores commit information in the MVCC model

RocksDB can be configured on a per-column-family basis. Here's an example:

  1. [rocksdb]
  2. max-background-jobs = 8

RocksDB configuration options

NameDescriptionDefault
max-background-jobsThe maximum number of concurrent background jobs (compactions and flushes)8