TiKV Clients

Interact with TiKV using the raw key-value API or the transactional key-value API.

TiKV offers two APIs that you can interact with:

APIDescriptionAtomicityUsage scenarios
RawA low-level key-value API to interact directly with individual key-value pairsSingle keyYour application requires low latency and does not involve distributed transactions.
TransactionalA high-level key-value API to provide ACID semantics.Multiple keysYour application requires distributed transactions.
It is not supported to use both the raw and transactional APIs on the same keyspace.

TiKV provides the following clients developed in different programming languages:

ClientsRawKV APITxnKV APISupported TiKV Version
Java Client(Stable) Has been used in the production environment of some commercial customers in latency sensitive systems.(Stable) Has been used in the TiSpark and TiBigData project to integrate data from TiDB to Big Data ecosystem. TiSpark and TiBigData are used in the production system of some commercial customers and internet companies.>= 2.0.0
Go Client(Stable) Has been used in the production environment of some internet commercial customers, to access TiKV as feature store and other scenarios.(Stable) Has been used as one of the fundamental library of TiDB. Has been used in production environment of some internet commercial customers to access TiKV as metadata store and other scenarios.>= 5.0.0
Rust Client(Unstable)(Unstable)>= 5.0.0
Python Client(Unstable)(Unstable)>= 5.0.0
C++ Client(Unstable)(Unstable)>= 5.0.0