TiKV is a distributed transactional key-value database originally created by PingCAP to complement TiDB.

As an incubating project of the Cloud Native Computing Foundation, TiKV is intended to fill the role of a unifying distributed storage layer. TiKV excels at working with data in the large by supporting petabyte scale deployments spanning trillions of rows.

It compliments other CNCF projects technologies like etcd which is useful for low-volume metadata storage, and can be extended using stateless query layers which speak other protocols, like TiDB speaking MySQL.

Notable Features

FeatureDescription
Geo-replicationTiKV uses the Raft consensus algorithm and the Placement Driver to support geo-replication.
Horizontal scalabilityWith the Placement Driver and carefully designed Raft groups, TiKV excels in horizontal scalability and can easily scale to 100+ terabytes of data.
Consistent distributed transactionsSimilar to Google's Spanner, TiKV supports externally consistent distributed transactions.
Coprocessor supportSimilar to Hbase, TiKV implements a coprocessor framework to support distributed computing.

You can browse a complete list on the features page.

Architecture

TiKV architecture diagramFigure 1. The architecture of TiKV

You can read more in the Concepts and architecture documentation.

Codebase, Inspiration, and Culture

TiKV is implemented in the Rust programming language. It uses technologies like Facebook's RocksDB and Raft.

The project was originally inspired by Google Spanner and HBase.