TiKV is a distributed transactional key-value database written in Rust and graduated from the CNCF. It stores an ordered key space, splits that space into ranges called regions — roughly 96 MiB each by default — and replicates every region as its own Raft group, typically three replicas spread across separate stores. Because each region is an independent Raft group, the cluster scales by adding stores and splitting regions rather than by resharding, and the loss of a node costs a leader election per affected region rather than an outage.
Above replication sits a full transaction layer. TiKV implements the Percolator model: a two-phase commit coordinated through a lock column family, with timestamps issued by the Placement Driver acting as a global clock, MVCC versions keyed by commit timestamp, and background garbage collection behind a safepoint. Both optimistic and pessimistic transactions are supported, along with async commit and one-phase commit paths that cut latency for the common case. Applications reach the cluster through two APIs — RawKV for simple point and range operations with TTL and compare-and-swap, and TxnKV for full snapshot-isolation transactions — with clients in Rust, Go, Java and Python.
The Placement Driver is the other half of the system. PD holds cluster metadata, issues timestamps, and continuously schedules the cluster: balancing leaders and regions across stores, moving hot regions away from saturated nodes, honouring store limits, and applying placement rules and location labels so replicas respect rack and zone boundaries. Underneath everything, data lands in RocksDB with separate column families for data, write, lock and raft, which is why LSM behaviour — compaction, write stalls, block cache — shows up directly in TiKV performance work. Most TiKV in production sits beneath TiDB as its storage layer; standalone use through RawKV and TxnKV is a smaller but real niche.
Why this skill matters now
The workloads that outgrow a single relational instance keep arriving, and the options are all expensive in different ways: shard the application by hand, buy a proprietary distributed database, or run an open-source one. TiKV is one of the few genuinely open, CNCF-graduated options that offers distributed ACID transactions rather than eventual consistency, which puts it in scope wherever correctness rules out a Dynamo-style store.
The more common route into TiKV is TiDB. Teams adopt TiDB for MySQL-compatible horizontal scale, then discover that every serious operational question — why writes stalled, why one store is hot, why a region has no leader, how to recover after losing two replicas — is a TiKV and PD question. Being able to read region state, interpret RocksDB metrics and drive pd-ctl is the difference between operating that cluster and hoping.
It is also one of the best available systems for learning distributed storage properly. Multi-Raft, MVCC over an LSM engine, Percolator two-phase commit and a live scheduler are all present, documented and observable in one codebase — so the knowledge transfers to etcd, CockroachDB, Spanner-style systems and beyond, not just to TiKV itself.