website/content/docs/configuration.md

1.3 KiB

title description weight draft
Configuration Configure a wide range of TiKV facets, including RocksDB, gRPC, the Placement Driver, and more 7 true

RocksDB configuration

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

{{< info >}} RocksDB was chosen for TiKV because it provides a highly customizable persistent key-value store that can be tuned to run in a variety of production environments, including pure memory, Flash, hard disks, or HDFS, it supports various compression algorithms, and it provides solid tools for production support and debugging. {{< /info >}}

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 family Purpose
rocksdb.defaultcf Stores actual KV pairs for TiKV
rocksdb.writecf Stores commit information in the MVCC model

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

[rocksdb]
max-background-jobs = 8

RocksDB configuration options

{{< config "rocksdb" >}}