Join GitHub today
Welcome to TiKV
TiKV ("Ti" stands for Titanium) is a distributed transactional key-value database, originally created to complement TiDB, a distributed HTAP database compatible with the MySQL protocol. TiKV is built in Rust and powered by Raft, and was inspired by the design of Google Spanner and HBase, but without dependency on any specific distributed file system.
With the implementation of the Raft consensus algorithm in Rust and consensus state stored in RocksDB, TiKV guarantees data consistency. Placement Driver (PD), which is introduced to implement auto-sharding, enables automatic data migration. The transaction model is similar to Google's Percolator with some performance improvements. TiKV also provides snapshot isolation (SI), snapshot isolation with lock (SQL:
SELECT ... FOR UPDATE), and externally consistent reads and writes in distributed transactions.
TiKV is hosted by the Cloud Native Computing Foundation (CNCF). If you are a company that wants to help shape the evolution of cloud native technologies, consider joining the CNCF. For details about who's involved and how TiKV plays a role, read the CNCF announcement.
TiKV has the following key features:
TiKV uses Raft and the Placement Driver to support Geo-Replication.
With PD and carefully designed Raft groups, TiKV excels in horizontal scalability and can easily scale to 100+ TBs of data.
Consistent distributed transactions
Similar to Google's Spanner, TiKV supports externally-consistent distributed transactions.
Similar to Hbase, TiKV implements a coprocessor framework to support distributed computing.
Cooperates with TiDB
Thanks to the internal optimization, TiKV and TiDB can work together to be a compelling database solution with high horizontal scalability, externally-consistent transactions, support for RDBMS, and NoSQL design patterns.
You can view the list of TiKV Adopters.
You can see the TiKV Roadmap.