A Java client for TiDB/TiKV. It is supposed to:
- Communicate via gRPC
- Talk to Placement Driver searching for a region
- Talk to TiKV for reading/writing data and the resulted data is encoded/decoded just like what we do in TiDB.
- Talk to Coprocessor for calculation pushdown
TiKV Java Client is designed to communicate with pd and tikv, please run TiKV and PD in advance.
Build java client from source file:
mvn clean install -Dmaven.test.skip=true
Add maven dependency to pom.xml
:
<dependency>
<groupId>org.tikv</groupId>
<artifactId>tikv-client-java</artifactId>
<version>3.1.0</version>
</dependency>
Create a RawKVClient and communicates with TiKV:
import org.tikv.common.TiConfiguration;
import org.tikv.common.TiSession;
import org.tikv.raw.RawKVClient;
public class Main {
public static void main() {
// You MUST create a raw configuration if you are using RawKVClient.
TiConfiguration conf = TiConfiguration.createRawDefault(YOUR_PD_ADDRESSES);
TiSession session = TiSession.create(conf);
RawKVClient client = session.createRawClient();
}
}
Find more demo in KVRawClientTest
See Java Client Documents for references about how to config and monitor Java Client.
A Maven site is also available. It includes:
- User forum: AskTUG
- Contributor forum: https://internals.tidb.io/
See Contribution Guide for references about how to contribute to this project.
Apache 2.0 license. See the LICENSE file for details.