TiKV Java Client
Go to file
Jian Zhang d12856fb12
[to #423] add some guideline for triage critical bugs (#503)
Co-authored-by: iosmanthus <dengliming@pingcap.com>
Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2022-02-14 13:51:51 +08:00
.ci ignore ci test with TxnKV (#281) 2021-09-30 13:37:22 +08:00
.github [to #426] add maven site with spotbugs (#476) 2022-02-09 16:51:41 +08:00
config ignore ci test with TxnKV (#281) 2021-09-30 13:37:22 +08:00
dev [to #426] add maven site with spotbugs (#476) 2022-02-09 16:51:41 +08:00
docs [to #423] add some guideline for triage critical bugs (#503) 2022-02-14 13:51:51 +08:00
metrics/grafana [close #511] add LockSupport metrics (#512) 2022-02-11 11:12:03 +08:00
scripts [to #477] Change SlowLog interface to align with tracing (#485) 2022-02-10 15:42:01 +08:00
src [to #348] Add examples to docs (#453) 2022-02-11 14:34:49 +08:00
.gitignore [to #348] Add javadoc (#447) 2021-12-28 09:33:26 +08:00
LICENSE init 2018-11-15 17:11:42 +08:00
Makefile [close #467] clean pb repo and target while make clean (#468) 2022-01-04 18:17:05 +08:00
README.md [to #426] update maven site info in README.md (#504) 2022-02-13 10:55:37 +08:00
pom.xml [to #348] add javadoc in maven site reporting (#507) 2022-02-11 15:13:53 +08:00
shell.nix fix build issue in `nix-shell --pure` (#190) 2021-06-09 09:48:21 +08:00

README.md

TiKV JAVA Client

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

Quick Start

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

Documentation

See Java Client Documents for references about how to config and monitor Java Client.

A Maven site is also available. It includes:

  1. API reference
  2. Spotbugs Reports
  3. Source Code Xref

Community

See Contribution Guide for references about how to contribute to this project.

License

Apache 2.0 license. See the LICENSE file for details.