From e9f4bf6e71b02da7f40faac9bd426d8d3b4386f9 Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Sun, 7 Oct 2018 10:03:17 -0700 Subject: [PATCH 1/5] Update architecture.md --- architecture.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/architecture.md b/architecture.md index 68a8e4fe1b25d..a7af16cf94a79 100644 --- a/architecture.md +++ b/architecture.md @@ -1,12 +1,12 @@ --- title: TiDB Architecture -summary: The key architecture components of the TiDB database platform +summary: The key architecture components of the TiDB platform category: introduction --- # TiDB Architecture -To better understand TiDB's features, you need to understand the TiDB architecture. The TiDB cluster includes three key components: the TiDB server, the PD server, and the TiKV server. In addition, TiDB also provides the [TiSpark](https://github.com/pingcap/tispark/) component for the complex OLAP requirements. +The TiDB platform is comprised of three key components: the TiDB server, the PD server, and the TiKV server. In addition, TiDB also provides the [TiSpark](https://github.com/pingcap/tispark/) component for the complex OLAP requirements. ![image alt text](media/tidb-architecture.png) From 3cbd7633ed0cba900d2ffd33874a698efbc54f76 Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Sun, 7 Oct 2018 10:04:18 -0700 Subject: [PATCH 2/5] Remove TiDB Features --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a94bd5fadf39b..e3061dbea4c8e 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,6 @@ + About TiDB - [TiDB Introduction](overview.md) - [TiDB Architecture](architecture.md) - - [TiDB Key Features](features.md) + Quick Start - [TiDB Quick Start Guide](QUICKSTART.md) - [Basic SQL Statements](try-tidb.md) From 589893d6dcf1203e0aaa931e115e890b6b6dceba Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Sun, 7 Oct 2018 10:05:04 -0700 Subject: [PATCH 3/5] Delete features.md --- features.md | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 features.md diff --git a/features.md b/features.md deleted file mode 100644 index b1f4195dcbf4c..0000000000000 --- a/features.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: TiDB Key Features -summary: Key features of the TiDB database platform -category: introduction ---- - -# TiDB Key Features - -## Horizontal scalability - -Horizontal scalability is the most important feature of TiDB. The scalability includes two aspects: the computing capability and the storage capacity. The TiDB server processes the SQL requests. As the business grows, the overall processing capability and higher throughput can be achieved by simply adding more TiDB server nodes. Data is stored in TiKV. As the size of the data grows, the scalability of data can be resolved by adding more TiKV server nodes. PD schedules data in Regions among the TiKV nodes and migrates part of the data to the newly added node. So in the early stage, you can deploy only a few service instances. For example, it is recommended to deploy at least 3 TiKV nodes, 3 PD nodes and 2 TiDB nodes. As business grows, more TiDB and TiKV instances can be added on-demand. - -## High availability - -High availability is another important feature of TiDB. All of the three components, TiDB, TiKV and PD, can tolerate the failure of some instances without impacting the availability of the entire cluster. For each component, See the following for more details about the availability, the consequence of a single instance failure and how to recover. - -### TiDB - -TiDB is stateless and it is recommended to deploy at least two instances. The front-end provides services to the outside through the load balancing components. If one of the instances is down, the Session on the instance will be impacted. From the application’s point of view, it is a single request failure but the service can be regained by reconnecting to the TiDB server. If a single instance is down, the service can be recovered by restarting the instance or by deploying a new one. - -### PD - -PD is a cluster and the data consistency is ensured using the Raft protocol. If an instance is down but the instance is not a Raft Leader, there is no impact on the service at all. If the instance is a Raft Leader, a new Leader will be elected to recover the service. During the election which is approximately 3 seconds, PD cannot provide service. It is recommended to deploy three instances. If one of the instances is down, the service can be recovered by restarting the instance or by deploying a new one. - -### TiKV - -TiKV is a cluster and the data consistency is ensured using the Raft protocol. The number of the replicas can be configurable and the default is 3 replicas. The load of TiKV servers are balanced through PD. If one of the node is down, all the Regions in the node will be impacted. If the failed node is the Leader of the Region, the service will be interrupted and a new election will be initiated. If the failed node is a Follower of the Region, the service will not be impacted. If a TiKV node is down for a period of time (default 30 minutes), PD will move the data to another TiKV node. From 67a2577484c7f10db48dec7dab838ee760f20671 Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Sun, 7 Oct 2018 10:21:39 -0700 Subject: [PATCH 4/5] Updated links --- FAQ.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/FAQ.md b/FAQ.md index 2e5b069f999f5..a9af75fe6b87b 100644 --- a/FAQ.md +++ b/FAQ.md @@ -18,7 +18,7 @@ TiDB is a distributed SQL database that features in horizontal scalability, high #### What is TiDB's architecture? -The TiDB cluster has three components: the TiDB server, the PD (Placement Driver) server, and the TiKV server. For more details, see [TiDB architecture](overview.md/#tidb-architecture). +The TiDB cluster has three components: the TiDB server, the PD (Placement Driver) server, and the TiKV server. For more details, see [TiDB architecture](architecture.md). #### Is TiDB based on MySQL? @@ -40,7 +40,7 @@ Currently, TiDB supports the majority of MySQL 5.7 syntax, but does not support #### How is TiDB highly available? -TiDB is self-healing. All of the three components, TiDB, TiKV and PD, can tolerate failures of some of their instances. With its strong consistency guarantee, whether it’s data machine failures or even downtime of an entire data center, your data can be recovered automatically. For more information, see [High availability](overview.md#high-availability). +TiDB is self-healing. All of the three components, TiDB, TiKV and PD, can tolerate failures of some of their instances. With its strong consistency guarantee, whether it’s data machine failures or even downtime of an entire data center, your data can be recovered automatically. For more information, see [TiDB architecture](architecture.md). #### How is TiDB strongly consistent? @@ -64,7 +64,7 @@ The architecture of TiDB guarantees that it fully supports geo-distribution and #### Does TiDB provide any other knowledge resource besides the documentation? -Currently, [TiDB documentation](https://www.pingcap.com/docs/overview) is the most important and timely way to get knowledge of TiDB. In addition, we also have some technical communication groups. If you have any needs, contact info@pingcap.com. +Currently, [TiDB documentation](https://www.pingcap.com/docs/) is the most important and timely way to get knowledge of TiDB. In addition, we also have some technical communication groups. If you have any needs, contact info@pingcap.com. #### What are the MySQL variables that TiDB is compatible with? @@ -98,7 +98,7 @@ As a standalone database, MySQL can only implement across-database transactions The display content of TiDB `show processlist` is almost the same as that of MySQL `show processlist`. TiDB `show processlist` does not display the system process ID. The ID that it displays is the current session ID. The differences between TiDB `show processlist` and MySQL `show processlist` are as follows: -- As TiDB is a distributed database, the `tidb-server` instance is a stateless engine for parsing and executing the SQL statements (for details, see [TiDB architecture](overview.md#tidb-architecture)). `show processlist` displays the session list executed in the `tidb-server` instance that the user logs in to from the MySQL client, not the list of all the sessions running in the cluster. But MySQL is a standalone database and its `show processlist` displays all the SQL statements executed in MySQL. +- As TiDB is a distributed database, the `tidb-server` instance is a stateless engine for parsing and executing the SQL statements (for details, see [TiDB architecture](architecture.md)). `show processlist` displays the session list executed in the `tidb-server` instance that the user logs in to from the MySQL client, not the list of all the sessions running in the cluster. But MySQL is a standalone database and its `show processlist` displays all the SQL statements executed in MySQL. - TiDB `show processlist` displays the estimated memory usage (unit: Byte) of the current session, which is not displayed in MySQL `show processlist`. #### How to modify the user password and privilege? From ee5ec0635a69f7388de364062f99c573ea392c1b Mon Sep 17 00:00:00 2001 From: Morgan Tocker Date: Sun, 7 Oct 2018 13:29:58 -0700 Subject: [PATCH 5/5] Removed Roadmap and connect with us Both are already top-level menu items --- overview.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/overview.md b/overview.md index e8bbe1ae81817..fd3e35072ab1e 100644 --- a/overview.md +++ b/overview.md @@ -39,15 +39,3 @@ Read the following three articles to understand TiDB techniques: - [Data Storage](https://pingcap.github.io/blog/2017/07/11/tidbinternal1/) - [Computing](https://pingcap.github.io/blog/2017/07/11/tidbinternal2/) - [Scheduling](https://pingcap.github.io/blog/2017/07/20/tidbinternal3/) - -## Roadmap - -Read the [Roadmap](https://github.com/pingcap/docs/blob/master/ROADMAP.md). - -## Connect with us - -- **Twitter**: [@PingCAP](https://twitter.com/PingCAP) -- **Reddit**: https://www.reddit.com/r/TiDB/ -- **Stack Overflow**: https://stackoverflow.com/questions/tagged/tidb -- **Mailing list**: [Google Group](https://groups.google.com/forum/#!forum/tidb-user) -