From 2ce2cf74de1ccf21e19327dbb814a8f478eb9a54 Mon Sep 17 00:00:00 2001 From: marsishandsome Date: Mon, 12 Jul 2021 11:26:41 +0800 Subject: [PATCH 1/3] docs for v5.1: add overview Signed-off-by: marsishandsome --- content/docs/5.1/concepts/overview.md | 33 +++++++++- content/docs/5.1/concepts/whats-next.md | 19 +++++- content/docs/5.1/deploy/deploy.md | 60 ++++++++++++++++++- .../docs/5.1/develop/clients/introduction.md | 4 +- content/docs/5.1/develop/develop.md | 25 +++++++- .../docs/5.1/develop/rawkv/introduction.md | 2 +- 6 files changed, 132 insertions(+), 11 deletions(-) diff --git a/content/docs/5.1/concepts/overview.md b/content/docs/5.1/concepts/overview.md index dad8f24..ff80060 100644 --- a/content/docs/5.1/concepts/overview.md +++ b/content/docs/5.1/concepts/overview.md @@ -1,9 +1,38 @@ --- title: Get Started -description: TODO +description: TiKV Introduction menu: "5.1": weight: 1 --- -TODO +**TiKV** is a highly scalable, low latency, and easy to use key-value database that delivers single-digit millisecond performance at any scale. + +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. + +As a graduate project of the [Cloud Native Computing Foundation](https://www.cncf.io/), TiKV is originally created by [PingCAP](https://pingcap.com/en) to complement [TiDB](https://github.com/pingcap/tidb). + +{{< info >}} +The **Ti** in TiKV stands for **titanium**. Titanium has the highest strength-to-density ratio of any metallic element and is named after the Titans of Greek mythology. +{{< /info >}} + +## Architecture + +A TiKV cluster consists of the following components: + +- A group of TiKV nodes: storing key-value pair data +- A Placement Driver (PD) node: working as the manager of the TiKV cluster + +TiKV clients interact with PD and TiKV through gRPC. + +{{< figure + src="/img/basic-architecture.png" + alt="TiKV architecture diagram" + caption="The architecture of TiKV" + width="70" >}} + +You can read more in the [Core concepts and architecture behind TiKV](../../reference/architecture/overview/) documentation. + +## What's Next + +[TiKV in 5 Minutes](../tikv-in-5-minutes/) is strongly recommended if you want to try TiKV. \ No newline at end of file diff --git a/content/docs/5.1/concepts/whats-next.md b/content/docs/5.1/concepts/whats-next.md index 8033b98..4f9b0be 100644 --- a/content/docs/5.1/concepts/whats-next.md +++ b/content/docs/5.1/concepts/whats-next.md @@ -1,10 +1,25 @@ --- title: What's Next -description: TODO +description: menu: "5.1": parent: Get Started weight: 3 --- -TODO +We recommend continuing learning about TiKV using the following resources: + +- As a TiKV cluster administrator + - Learn how to install a TiKV cluster: [Install TiKV](../../deploy/install/install/) + - Learn how to config a TiKV cluster: [Configure TiKV](../../deploy/configure/introduction/) + - Learn the benchmark of a TiKV cluster: [Benchmark and Performance](../../deploy/benchmark/benchmark/) + - Learn how to monitor a TiKV cluster: [Monitor and Alert](../../deploy/monitor/monitor/) + - Learn how to maintain and operate a TiKV cluster: [Operate TiKV Cluster](../../deploy/operate/operate/) + - Learn the Command-Line Interface Tools used to administrate TiKV Cluster: [CLI](../../reference/cli/introduction/) +- As an application developer + - Learn how to interact with a TiKV cluster using TiKV clients: [TiKV clients](../../develop/clients/introduction/) + - Learn how to interact with TiKV using RawKV API: [RawKV](../../develop/rawkv/introduction/) + - Learn the architecture of TiKV: [Architecture](../../reference/architecture/introduction/) +- Want to become a contributor + - Learn how to be a TiKV Contributor: [Contribute](/community/contribute/) + - Learn the internal of TiKV: [Deep Dive](/deep-dive/introduction/) diff --git a/content/docs/5.1/deploy/deploy.md b/content/docs/5.1/deploy/deploy.md index ec6c7c9..b917762 100644 --- a/content/docs/5.1/deploy/deploy.md +++ b/content/docs/5.1/deploy/deploy.md @@ -1,9 +1,65 @@ --- title: Deploy -description: TODO +description: Learn how to deploy and operate a TiKV cluster menu: "5.1": weight: 3 --- -TODO +Learn to deploy, configure, monitor, and scale TiKV as you adopt the service into your project and infrastructure. + +## [Install TiKV](../install/install/) + +In the [Install TiKV](../install/install/) section you’ll find several guides to help you deploy and integrate TiKV into your infrastructure. + +The best supported and most comprehensive deployment solution for production environment is to [Deploy TiKV using TiUP](../install/production/). + +If you’re determined to strike it out on your own, we’ve done our best to provide you with the tools you need to build your own solution. Start with [Install binary manually](../install/test/#install-binary-manually). + +If you want to try TiKV on your own Mac or Linux machine, please try [TiUP Playground](../install/test/#tiup-playground). + +## [Configure TiKV](../configure/introduction/) + +Learn about how you can configure TiKV to meet your needs in the [configure](../configure/introduction/) section. There you’ll find a number of guides including: + +PD + +- [PD Command Line Parameters](../pd-command-line): Learn configuration flags of PD. +- [PD Config](../pd-configuration-file): Learn the PD configuration file. + +TiKV + +- [TiKV Command Line Parameters](../tikv-command-line): Learn configuration flags of TiKV. +- [TiKV Config](../tikv-configuration-file): Learn the TiKV configuration file. +- [Security](../security): Use TLS security and review security procedures. +- [Topology Lable](../topology): Use location awareness to improve resiliency and performance. +- [Limit](../limit): Learn how to configure scheduling rate limit on stores. +- [Region Merge](../region-merge): Tweak region merging. +- [RocksDB](../rocksdb): Tweak RocksDB configuration parameters. +- [Raftstore](../raftstore): Learn how to configure Raftstore in TiKV. +- [Titan](../titan): Enable titan to improve performance with large values. +- [Storage](../storage): Learn how to configure storage in TiKV. +- [gRPC](../grpc): Learn how to configure gRPC in TiKV. +- [Coprocessor](../coprocessor): Learn how to configure Coprocessor in TiKV. + + +## [Benchmark and Performance](../benchmark/benchmark/) + +## [Monitor and Alert](../monitor/monitor/) + +Learn how to inspect a TiKV cluster in the [Monitor and Alert](../monitor/monitor/) section. You’ll find out + +- [Monitoring Framework](../monitor/framework/): Use Prometheus and Grafana to build the TiKV monitoring framework. +- [Monitoring API](../monitor/api/): Learn the API of TiKV monitoring services. +- [Deploy Monitoring Services](../monitor/deploy/): Learn how to deploy monitoring services for the TiKV cluster. +- [Export Grafana Shapshots](../monitor/grafana/): Learn how to export snapshots of Grafana Dashboard, and how to visualize these files. +- [Key Metrics](../monitor/key-metrics/): Learn some key metrics displayed on the Grafana Overview dashboard. +- [TiKV Cluster Alert Rules](../monitor/alert/): Learn the alert rules in a TiKV cluster. + +## [Operate TiKV](../operate/operate/) + +This section introduces how to maintain and operate a TiKV cluster. + +- [Upgrade a TiKV cluster using TiUP](../operate/upgrade): Learn how to upgrade TiKV using TiUP +- [Scale out/in a TiKV cluster using TiUP](../operate/scale): How to grow and shrink your TiKV cluster. +- [Maintain a TiKV cluster using TiUP](../operate/maintain): Learn the common operations to operate and maintain a TiKV cluster using TiUP \ No newline at end of file diff --git a/content/docs/5.1/develop/clients/introduction.md b/content/docs/5.1/develop/clients/introduction.md index da48030..7849036 100644 --- a/content/docs/5.1/develop/clients/introduction.md +++ b/content/docs/5.1/develop/clients/introduction.md @@ -24,6 +24,6 @@ TiKV has clients for a number of languages: | -------------------------- | ----------------- | ----------------- | ---------------------- | | [Java Client](../java) | Stable | Under development | >= 2.0.0 | | [Go Client V2](../go) | Unstable | Unstable | >= 5.0.0 | -| [Rust Client](../rust) | Stable | Stable | >= 5.0.0 | +| [Rust Client](../rust) | Unstable | Unstable | >= 5.0.0 | | [Python Client](../python) | Unstable | Unstable | >= 5.0.0 | -| [C Client](../c) | Unstable | Unstable | >= 5.0.0 | +| [C++ Client](../cpp) | Unstable | Unstable | >= 5.0.0 | diff --git a/content/docs/5.1/develop/develop.md b/content/docs/5.1/develop/develop.md index afd5741..f4ad63d 100644 --- a/content/docs/5.1/develop/develop.md +++ b/content/docs/5.1/develop/develop.md @@ -1,9 +1,30 @@ --- title: Develop -description: TODO +description: Learn how to use TiKV Clients for different languages menu: "5.1": weight: 2 --- -TODO +Learn how to use TiKV Clients for different languages. + +## [TiKV Clients](../clients/introduction/) + +TiKV has clients for a number of languages: + +- [Java Client](../clients/java)'s RawKV API is ready for production. +- [Go Client V2](../clients/go) is still in the stage of prove-of-concept and under heavy development. +- [Rust Client](../clients/rust) is still in the stage of prove-of-concept and under heavy development. +- [Python Client](../clients/python) is still in the stage of prove-of-concept and under heavy development. +- [C++ Client](../clients/cpp) is still in the stage of prove-of-concept and under heavy development. + +## RawKV and TxnKV + +TiKV supports both transactional (TxnKV) API and non-transactional (RawKV) API. + +Learn how to use [RawKV API](../rawkv/introduction/): + +- [Get Put Delete](../rawkv/get-put-delete/) +- [Scan](../rawkv/scan) +- [Time to Live (TTL)](../rawkv/ttl) +- [Compare And Swap (CAS)](../rawkv/cas) diff --git a/content/docs/5.1/develop/rawkv/introduction.md b/content/docs/5.1/develop/rawkv/introduction.md index 41d3975..6703f21 100644 --- a/content/docs/5.1/develop/rawkv/introduction.md +++ b/content/docs/5.1/develop/rawkv/introduction.md @@ -9,7 +9,7 @@ menu: TiKV supports both transactional (TxnKV) API and non-transactional (RawKV) API. This chapter walks you through a few demonstrations of how to use RawKV API. -- [Put Get Delete](../put-get-delete) +- [Get Put Delete](../get-put-delete/) - [Scan](../scan) - [Time to Live (TTL)](../ttl) - [Compare And Swap (CAS)](../cas) From 8cf5319b49b77bd088ea08895bab2d0aaf6d9677 Mon Sep 17 00:00:00 2001 From: marsishandsome Date: Wed, 14 Jul 2021 12:51:58 +0800 Subject: [PATCH 2/3] address code review Signed-off-by: marsishandsome --- content/docs/5.1/concepts/overview.md | 2 +- content/docs/5.1/concepts/whats-next.md | 14 +++++++------- content/docs/5.1/develop/clients/introduction.md | 2 +- content/docs/5.1/develop/develop.md | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/content/docs/5.1/concepts/overview.md b/content/docs/5.1/concepts/overview.md index ff80060..df1e749 100644 --- a/content/docs/5.1/concepts/overview.md +++ b/content/docs/5.1/concepts/overview.md @@ -6,7 +6,7 @@ menu: weight: 1 --- -**TiKV** is a highly scalable, low latency, and easy to use key-value database that delivers single-digit millisecond performance at any scale. +**TiKV** is a highly scalable, low latency, and easy to use key-value database that delivers <10ms performance at any scale. 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. diff --git a/content/docs/5.1/concepts/whats-next.md b/content/docs/5.1/concepts/whats-next.md index 4f9b0be..783c9a5 100644 --- a/content/docs/5.1/concepts/whats-next.md +++ b/content/docs/5.1/concepts/whats-next.md @@ -9,13 +9,13 @@ menu: We recommend continuing learning about TiKV using the following resources: -- As a TiKV cluster administrator - - Learn how to install a TiKV cluster: [Install TiKV](../../deploy/install/install/) - - Learn how to config a TiKV cluster: [Configure TiKV](../../deploy/configure/introduction/) - - Learn the benchmark of a TiKV cluster: [Benchmark and Performance](../../deploy/benchmark/benchmark/) - - Learn how to monitor a TiKV cluster: [Monitor and Alert](../../deploy/monitor/monitor/) - - Learn how to maintain and operate a TiKV cluster: [Operate TiKV Cluster](../../deploy/operate/operate/) - - Learn the Command-Line Interface Tools used to administrate TiKV Cluster: [CLI](../../reference/cli/introduction/) +- As a TiKV cluster administrator, learn how to: + - Install a TiKV cluster: [Install TiKV](../../deploy/install/install/) + - Config a TiKV cluster: [Configure TiKV](../../deploy/configure/introduction/) + - Benchmark of a TiKV cluster: [Benchmark and Performance](../../deploy/benchmark/benchmark/) + - Monitor a TiKV cluster: [Monitor and Alert](../../deploy/monitor/monitor/) + - Maintain and operate a TiKV cluster: [Operate TiKV Cluster](../../deploy/operate/operate/) + - Administrate TiKV Cluster with CLI Tools: [CLI](../../reference/cli/introduction/) - As an application developer - Learn how to interact with a TiKV cluster using TiKV clients: [TiKV clients](../../develop/clients/introduction/) - Learn how to interact with TiKV using RawKV API: [RawKV](../../develop/rawkv/introduction/) diff --git a/content/docs/5.1/develop/clients/introduction.md b/content/docs/5.1/develop/clients/introduction.md index 7849036..7d52383 100644 --- a/content/docs/5.1/develop/clients/introduction.md +++ b/content/docs/5.1/develop/clients/introduction.md @@ -23,7 +23,7 @@ TiKV has clients for a number of languages: | Clients | RawKV API | TxnKV API | Supported TiKV Version | | -------------------------- | ----------------- | ----------------- | ---------------------- | | [Java Client](../java) | Stable | Under development | >= 2.0.0 | -| [Go Client V2](../go) | Unstable | Unstable | >= 5.0.0 | +| [Go Client](../go) | Unstable | Unstable | >= 5.0.0 | | [Rust Client](../rust) | Unstable | Unstable | >= 5.0.0 | | [Python Client](../python) | Unstable | Unstable | >= 5.0.0 | | [C++ Client](../cpp) | Unstable | Unstable | >= 5.0.0 | diff --git a/content/docs/5.1/develop/develop.md b/content/docs/5.1/develop/develop.md index f4ad63d..0c169cf 100644 --- a/content/docs/5.1/develop/develop.md +++ b/content/docs/5.1/develop/develop.md @@ -13,7 +13,7 @@ Learn how to use TiKV Clients for different languages. TiKV has clients for a number of languages: - [Java Client](../clients/java)'s RawKV API is ready for production. -- [Go Client V2](../clients/go) is still in the stage of prove-of-concept and under heavy development. +- [Go Client](../clients/go) is still in the stage of prove-of-concept and under heavy development. - [Rust Client](../clients/rust) is still in the stage of prove-of-concept and under heavy development. - [Python Client](../clients/python) is still in the stage of prove-of-concept and under heavy development. - [C++ Client](../clients/cpp) is still in the stage of prove-of-concept and under heavy development. From f13792f65442097fb8f8183d6df5fd22758ac553 Mon Sep 17 00:00:00 2001 From: marsishandsome Date: Wed, 14 Jul 2021 12:58:40 +0800 Subject: [PATCH 3/3] address code review Signed-off-by: marsishandsome --- content/docs/5.1/concepts/whats-next.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/content/docs/5.1/concepts/whats-next.md b/content/docs/5.1/concepts/whats-next.md index 783c9a5..4b0e5ca 100644 --- a/content/docs/5.1/concepts/whats-next.md +++ b/content/docs/5.1/concepts/whats-next.md @@ -16,10 +16,10 @@ We recommend continuing learning about TiKV using the following resources: - Monitor a TiKV cluster: [Monitor and Alert](../../deploy/monitor/monitor/) - Maintain and operate a TiKV cluster: [Operate TiKV Cluster](../../deploy/operate/operate/) - Administrate TiKV Cluster with CLI Tools: [CLI](../../reference/cli/introduction/) -- As an application developer - - Learn how to interact with a TiKV cluster using TiKV clients: [TiKV clients](../../develop/clients/introduction/) - - Learn how to interact with TiKV using RawKV API: [RawKV](../../develop/rawkv/introduction/) - - Learn the architecture of TiKV: [Architecture](../../reference/architecture/introduction/) -- Want to become a contributor - - Learn how to be a TiKV Contributor: [Contribute](/community/contribute/) - - Learn the internal of TiKV: [Deep Dive](/deep-dive/introduction/) +- As an application developer, learn + - How to interact with a TiKV cluster using TiKV clients: [TiKV clients](../../develop/clients/introduction/) + - How to interact with TiKV using RawKV API: [RawKV](../../develop/rawkv/introduction/) + - The architecture of TiKV: [Architecture](../../reference/architecture/introduction/) +- Want to become a contributor, learn + - How to be a TiKV Contributor: [Contribute](/community/contribute/) + - The internal of TiKV: [Deep Dive](/deep-dive/introduction/)