We are currently refactoring our documentation. Please excuse any problems you may find and report them here.

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.

The Ti in TiKV stands for titanium. Titanium has the highest strength-to-density ratio of any metallic element and is named after the Titans of Greek mythology.

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 diagram

Figure 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.