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
Feature | Description |
---|---|
Geo-replication | TiKV uses the Raft consensus algorithm and the Placement Driver to support geo-replication. |
Horizontal scalability | With the Placement Driver and carefully designed Raft groups, TiKV excels in horizontal scalability and can easily scale to 100+ terabytes of data. |
Consistent distributed transactions | Similar to Google's Spanner, TiKV supports externally consistent distributed transactions. |
Coprocessor support | Similar to Hbase, TiKV implements a coprocessor framework to support distributed computing. |
You can browse a complete list on the features page.
Architecture
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.