-
Notifications
You must be signed in to change notification settings - Fork 680
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs/op-guide: create GC document #433
Conversation
op-guide/gc.md
Outdated
|
||
# TiDB Garbage Collection (GC) | ||
|
||
TiDB uses MVCC to control concurrency. When you update or delete data, the data is not deleted immediately and it is saved for a period during which it can be read. Thus the write operation and the read operation are not mutually exclusive and it is possible to read the previous data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"and it is saved" -> "but is saved" better?
op-guide/gc.md
Outdated
|
||
TiDB uses MVCC to control concurrency. When you update or delete data, the data is not deleted immediately and it is saved for a period during which it can be read. Thus the write operation and the read operation are not mutually exclusive and it is possible to read the previous data. | ||
|
||
The data versions whose duration exceeds a specific time and that are not used any more will be cleared, or they will occupy the disk space, affecting the system performance. TiDB uses Garbage Collection (GC) to clear the obsolete data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"or" -> "otherwise"
"or" is ambiguous.
op-guide/gc.md
Outdated
|
||
## Working mechanism | ||
|
||
GC runs periodically on TiDB. When a TiDB server is started, a `gc_worker` is enabled in the background. In a TiDB cluster, one `gc_worker` is elected to be the leader which is used to maintain the GC status and send GC commands to all the TiKV Region leaders. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"In a TiDB cluster" -> "In each TiDB cluster"
op-guide/gc.md
Outdated
|
||
## Configuration and monitor | ||
|
||
The GC configuration and operation status are recorded in the `mysql.tidb` system table, which can be monitored and configured using the following SQL statement: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"operation status" -> "running status"?
op-guide/gc.md
Outdated
10 rows in set (0.02 sec) | ||
``` | ||
|
||
In the table above, `tikv_gc_run_interval`, `tikv_gc_life_time` and `tikv_gc_concurrency` can be configured manually. Other `tikv_gc`- variables record the current status, which are automatically updated by TiDB. Do not modify these variables. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Other tikv_gc
- variables" -> "Other variables with the tikv_gc
prefix"
op-guide/gc.md
Outdated
|
||
`tikv_gc_leader_uuid`, `tikv_gc_leader_desc`, `tikv_gc_leader_lease` indicate the current GC leader information. `tikv_gc_last_run_time` indicates the last time GC works. | ||
|
||
`tikv_gc_safe_point` indicates the time, versions before which are cleared by GC and versions after which are readable. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reorganize this code description part as follows (use a bulleted list to make it clearer):
-
tikv_gc_leader_uuid
,tikv_gc_leader_desc
,tikv_gc_leader_lease
: the current GC leader information. -
tikv_gc_run_interval
: the interval of GC work. The value is 10 min by default and cannot be less than 10 min. -
tikv_gc_life_time
: the retaining time of data versions; The value is 10 min by default and cannot be less than 10 min.When GC works, the outdated data is cleared. You can set it using the SQL statement. For example, if you want to retain the data within a day, you can execute the operation as below:
update mysql.tidb set VARIABLE_VALUE = '24h' where VARIABLE_NAME = 'tikv_gc_life_time';
The duration strings are a sequence of a number with the time unit, such as
24h
,2h30m
and2.5h
. The time units you can use include "h", "m" and "s".move the Note part here
-
tikv_gc_last_run_time
: the last time GC works. -
tikv_gc_safe_point
: the time that versions before which are cleared by GC and versions after which are readable. -
tikv_gc_concurrency
: the GC concurrency. It is set to1
by default. In this case, a single thread operates and threads send request to each Region and wait for the response one by one. You can set the variable value larger to improve the system performance, but keep the value smaller than 128.
op-guide/gc.md
Outdated
|
||
## Implementation details | ||
|
||
The GC implementation process is complex. Clearing the data that is not used any more should be on the premise that data consistency is guaranteed. The process of doing GC is as below: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Clearing the data that is not used any more should be on the premise that data consistency is guaranteed." -> "When the obsolete data is cleared, data consistency is guaranteed."
op-guide/gc.md
Outdated
|
||
### 1. Resolve locks | ||
|
||
The TiDB transaction is based on Google Percolator. The transaction committing is a two-phase committing process. When the first phase is finished, all the related keys are locked. Among these locks, one is the primary lock and the others are secondary locks which contain a pointer of the primary locks; in the secondary phase, the key with the primary lock gets a write record and its lock is removed. The write record indicates the write or delete operation in the history or the transactional rollback record of this key. Replacing the primary lock by which write record indicates whether the corresponding transaction is committed successfully. Then all the secondary locks are replaced successively. If the threads to replace the secondary locks fail, these locks are retained. During GC, locks whose timestamp is before the safe point will be replaced by the corresponding write record based on the transaction committing status. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-
"The TiDB transaction is based on Google Percolator. The transaction committing is a two-phase committing process." -> "The TiDB transaction model is inspired by Google's Percolator. It's mainly a two-phase commit protocol with some practical optimizations."
Ref: https://pingcap.com/blog/2016-10-17-how-we-build-tidb/#12
-
"Replacing the primary lock by which" -> "Replacing the primary lock with which"
-
"locks whose timestamp is before the safe point will be" -> "the lock whose timestamp is before the safe point is"
op-guide/gc.md
Outdated
|
||
The TiDB transaction is based on Google Percolator. The transaction committing is a two-phase committing process. When the first phase is finished, all the related keys are locked. Among these locks, one is the primary lock and the others are secondary locks which contain a pointer of the primary locks; in the secondary phase, the key with the primary lock gets a write record and its lock is removed. The write record indicates the write or delete operation in the history or the transactional rollback record of this key. Replacing the primary lock by which write record indicates whether the corresponding transaction is committed successfully. Then all the secondary locks are replaced successively. If the threads to replace the secondary locks fail, these locks are retained. During GC, locks whose timestamp is before the safe point will be replaced by the corresponding write record based on the transaction committing status. | ||
|
||
This step is necessary, because you are not informed whether this transaction is successful if GC has cleared the write record of the primary lock, thus data consistency cannot be guaranteed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change to:
Note: This is a required step. Once GC has cleared the write record of the primary lock, you can never know whether this transaction is successful or not. As a result, data consistency cannot be guaranteed.
op-guide/gc.md
Outdated
|
||
### 2. Delete ranges | ||
|
||
The `DeleteRanges` operation is usually necessary after the operation such as `drop table`. It is used to delete a range which may be very large. If the `use_delete_range` option of TiKV is not enabled, TiKV deletes the keys in the range. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"The DeleteRanges
operation is usually necessary after the operation such as drop table
. It is used to delete a range which may be very large." -> "DeleteRanges
is usually executed after operations like drop table
, used to delete a range which might be very large."
@MyonKeminta @lilin90 PTAL Thanks |
op-guide/gc.md
Outdated
- If `tikv_gc_life_time` is suddenly turned to a smaller value during operation, a great deal of old data may be deleted in a short time, causing I/O pressure. | ||
- The more versions of the data, the more disk storage space is occupied. | ||
- A large number of history versions might slow down the query. They may affect range queries like `select count(*) from t`. | ||
- If `tikv_gc_life_time` is suddenly turned to a smaller value during operation, a great deal of old data may be deleted in a short time, causing I/O pressure. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please check the format here. It displays as a code block.
op-guide/gc.md
Outdated
|
||
This step is necessary, because you are not informed whether this transaction is successful if GC has cleared the write record of the primary lock, thus data consistency cannot be guaranteed. | ||
**Note**: This is a required step. Once GC has cleared the write record of the primary lock, you can never know whether this transaction is successful or not. As a result, data consistency cannot be guaranteed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use the "Note" format.
@lilin90 @MyonKeminta PTAL gain |
op-guide/gc.md
Outdated
### 3. Do GC | ||
|
||
Clear the data before the safe point of each key and the write record. | ||
> **Note**: if the last record in all the write records of `Put` and `Delete` types before the safe point is `Put`, this record and its data cannot be deleted directly. Otherwise, you cannot successfully perform the read operation whose timestamp is after the safe point and before the next key version. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if -> If
op-guide/gc.md
Outdated
|
||
# TiDB Garbage Collection (GC) | ||
|
||
TiDB uses MVCC to control concurrency. When you update or delete data, the data is not deleted immediately but is saved for a period during which it can be read. Thus the write operation and the read operation are not mutually exclusive and it is possible to read the previous data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it's better to say "the original data is not deleted immediately but is kept for a while ....."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"It is possible to read the history versions of the data". See op-guide/history-read.md
op-guide/gc.md
Outdated
|
||
TiDB uses MVCC to control concurrency. When you update or delete data, the data is not deleted immediately but is saved for a period during which it can be read. Thus the write operation and the read operation are not mutually exclusive and it is possible to read the previous data. | ||
|
||
The data versions whose duration exceeds a specific time and that are not used any more will be cleared, otherwise they will occupy the disk space, affecting the system performance. TiDB uses Garbage Collection (GC) to clear the obsolete data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Occupy the disk space as well as affect TiDB's performance.
I think "occupy the disk space" and "affect the performance" are of the same level but not one causing another.
op-guide/gc.md
Outdated
|
||
## Working mechanism | ||
|
||
GC runs periodically on TiDB. When a TiDB server is started, a `gc_worker` is enabled in the background. In each TiDB cluster, one `gc_worker` is elected to be the leader which is used to maintain the GC status and send GC commands to all the TiKV Region leaders. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A gc worker is started in the background, not enabled. These text are moved from history-read.md, around line 34.
op-guide/gc.md
Outdated
|
||
## Configuration and monitor | ||
|
||
The GC configuration and operational status are recorded in the `mysql.tidb` system table, which can be monitored and configured using the following SQL statement: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe not "following"...
op-guide/gc.md
Outdated
10 rows in set (0.02 sec) | ||
``` | ||
|
||
In the table above, `tikv_gc_run_interval`, `tikv_gc_life_time` and `tikv_gc_concurrency` can be configured manually. Other variables with the `tikv_gc prefix` prefix record the current status, which are automatically updated by TiDB. Do not modify these variables. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`tikv_gc` prefix
@MyonKeminta @lilin90 PTAL again |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
op-guide/gc.md
Outdated
### 3. Do GC | ||
|
||
Clear the data before the safe point of each key and the write record. | ||
> **Note**: If the last record in all the write records of `Put` and `Delete` types before the safe point is `Put`, this record and its data cannot be deleted directly. Otherwise, you cannot successfully perform the read operation whose timestamp is after the safe point and before the next key version. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
... after the safe point and before the next version of the key
Rest LGTM |
@MyonKeminta Thanks |
@MyonKeminta Thanks a lot for your comments. 😀 |
* fix: remove hardcode 'v.1.0.0~' for pdf version (#436) * scripts: fix typo (#435) * op-guide: update ansible and offline deployment (#431) * op-guide: update ansible and offline deployment Via: pingcap/docs-cn#682 * Address the comment * op-guide: address the comment * docs/op-guide: create GC document (#433) * docs/op-guide: create GC document * Update gc.md * Update gc.md * Update GC via: pingcap/docs-cn#689 * Update gc.md * Update gc.md * Update gc.md * Update gc.md * tools: add TiDB Controller guide (#432) * tools: add TiDB Controller guide Via: pingcap/docs-cn#683 * Address comments * tools: address controller comments * Fix broken link in binary-deployment.md (#437) Caused by a capitalization mismatch * op-guide: update format (#438) * quickstart: update one step description (#440) * op-guide: fix the file name and join (#441) * op-guide: fix the file name Via: pingcap/docs-cn#677 * op-guide: fix join Via: pingcap/docs-cn#680 * sql: add auto-analyze-ratio (#442) * Update wording (#446) * Update wording * Add "the" before "TiDB services" * benchmark: add sysbench 2.0 vs. 1.0 (#444) * benchmark: add sysbench 2.0 vs. 1.0 via: pingcap/docs-cn#699 * Update sysbench-v2.md * Update sysbench-v2.md * Update sysbench-v2.md * releases: fix typo and update format in 1.1 Alpha (#447) * benchmark: fix format (#448) * benchmark: add TPC-H benchmark result (#443) * benchmark: create tpch document via pingcap/docs-cn#698 * benchmark: update test result via pingcap/docs-cn@0878112 * Update tpch.md * Add files via upload * Update tpch.md * Update tpch.md * Update tpch.md * Update tpch.md * Update tpch.md * Update tpch.md * Update tpch.md * Update tpch.md * Update tpch.md * Update tpch.md * tools: add TiKV Control User Guide (#439) * tools: add TiKV Control User Guide * tools: update wording * tools: address comments * tools: address comments * releases/readme: add the release notes for TiDB 2.0 (#449) * releases/readme: add the release notes for 2.0 * releases: address comments * Change the statement of one feature (#450) * Change the statement of one feature * Remove the TPC-H image * Update the TPCH image * releases: update wording * Update ROADMAP.md (#453) * sql: update ddl table_option (#445) Via: pingcap/docs-cn#686 * Update the TiDB production (#454) Update the TiDB introduction * sql: fix the SQL for SHARD_ROW_ID_BITS (#451) Via: pingcap/docs-cn#707 * op-guide, readme: add TiDB 2.0 Upgrade Guide (#455) * op-guide: add fontconfig note (#456) Via: pingcap/docs-cn#714 * op-guide: fix code block format at website (#457) * roadmap: fix the list level (#458) * Updated tpch.md (#452) Cleaned up certain parts of the bottom section to provide more clarity. * Update document structure (#459) * sql: update tidb_batch_insert/delete autocommit (#462) * sql: update tidb_batch_insert autocommit Via: pingcap/docs-cn#721 * sql: update tidb_batch_insert autocommit * tispark: update the link and expression (#464) * op-guide: add pip version requirement (#460) Via: pingcap/docs-cn#719 * Fix the wrong statement (#465) * Fix the wrong statement * Fix a typo * sql: add two TiDB error codes (#466) * sql: add two TiDB error codes Via: pingcap/docs-cn#728 * sql: update error code description * faq: update description and delete repeated question (#467) * releases: add the release notes for TiDB 2.0.1 (#469) * releases: add the release notes for TiDB 2.0.1 * releases: update release list * releases: update wording * releases: address the comment * adopters: add WEIRUIDA (#470) Via: pingcap/docs-cn#731 * adopters: add China Telecom BestPay (#471) Via: pingcap/docs-cn#734 * update the go version (#463) * releases: rename to fix the display issue (#473) * releases: add the release notes for TiDB 2.0.2 (#474) * releases: add the release notes for TiDB 2.0.2 * releases: update readme and address the comment * sql: fix the scope of some tidb variables (#476) Via: pingcap/docs-cn#738 * adopters: add Keruyun (#479) Via: pingcap/docs-cn#744 * sql: fix privilege errors (#478) * sql: fix privilege errors Via: pingcap/docs-cn#745 * sql: fix tables_priv * Update the confusing statements (#468) * Fix the wrong statement * Fix a typo * Fix the statement * Fix the quotation mark * Update the statement of tikv-ctl * Update the MySQL related statement * Update the statement regarding the MySQL client * *: add TiKV overview, installation, and client driver (#472) * *: add TiKV Quick Start Guide * tikv: update code display effect * tikv: update the ParseInt code * tikv: fix a step typo * tikv: update wording * tikv, readme: reorganize TiKV documents * tikv, readme: reorganize the structure and update content based on comments * tikv, readme: add Install TiKV Using Docker Compose * tikv: add two links to API usage * tikv, readme: update file name and readme * tikv: update wording * tikv: update two links * releases, readme: add the release notes for 2.0.3 (#481) * tikv: add a go client link to docker compose deployment (#485) * tikv: add a go client link to docker compose deployment * tikv: update wording * tikv: delete extra words * tikv, readme: add "Install and Deploy TiKV Using Ansible" (#482) * tikv, readme: add "Install and Deploy TiKV Using Ansible" * tikv: address some of the comments * tikv: add description about cluster topology * tikv: add two links * tikv: update wording * tikv: address comments * readme: add the link to the tutorial (#489) * Fix the wrong statement * Fix a typo * Fix the statement * Fix the quotation mark * Update the statement of tikv-ctl * Update the MySQL related statement * Update the statement regarding the MySQL client * Add the link to the tutorial * sql: fix typo about COLUMN_PRIVILEGES (#490) * op-guide, tikv: update ansible deployment for TiDB and TiKV (#491) * sql: update the description of auto id conflicts (#488) * sql: update the description of auto id conflicts Via: pingcap/docs-cn#758 * sql: add whitespace to closed intervals * sql: update wording to address comments * tikv, readme: add "Install and Deploy TiKV Using Docker" (#486) * tikv, readme: add "Install and Deploy TiKV Using Docker" * tikv: update Docker description * op-guide: update ansible deployment steps and wording (#483) * op-guide: update ansible deployment steps and wording * op-guide: add description under a headline * adopters: add Seasun Games (#493) Via: pingcap/docs-cn#761 * adopters: add Zhuan Zhuan (#495) * op-guide, sql: add description about TSO support (#492) * tools: add checking Region properties to TiKV Control (#494) * faq: add ERROR 1148 (42000) (#480) * faq: add ERROR 1148 (42000) Via: pingcap/docs-cn#732 * faq: fix a typo * ROADMAP: Update roadmap (#499) * ROADMAP: Update roadmap The roadmap is out of date. So we need to update it. * Address comment * Address comment * op-guide: add note for lower-case-table-names (#497) Via: pingcap/docs-cn#742 * tikv: update the usage example for Txn KV API (#487) * tikv: update the usage example for Txn KV API * tikv: update the code fencing * tikv: address comments * FAQ: add processing time of DDL (#502) * FAQ: add processing time of DDL Via: pingcap/docs-cn#752 * FAQ: address comments * FAQ: udpate wording * roadmap: fix the list format (#503) * sql: add tidb_retry_limit (#501) * sql: add tidb_retry_limit * sql: address the comment * op-guide, tikv: update docker compose deployment (#496) * op-guide, tikv: update docker compose deployment Via: pingcap/tidb-docker-compose#25 * op-guide: add the TiSpark section * op-guide: add a 5-minute tutorial link * op-guide: update wording * remove leading Besides (#505) In general introductory adverbs create more complex structure. With "Besides," it is confusing as to whether the following sentence is supposed to be supporting or contrasting. * releases, readme: add the release notes for 2.0.4 (#506) * releases, readme: add the release notes for 2.0.4 * Update 2.0.4 * op-guide, media: update overview dashboard (#500) * op-guide, media: update overview dashboard Via: pingcap/docs-cn#760 * Revert "op-guide, media: update overview dashboard" This reverts commit cbee1b7. * op-guide, media: update overview dashboard Via: pingcap/docs-cn#760 * media: add overview image * op-guide: address the comment * op-guide: refine Ansible deployment of TiDB (#508) * op-guide: refine Ansible deployment of TiDB Via: pingcap/docs-cn#766 * op-guide: update wording * op-guide: update wording * op-guide: update wording to address comments * op-guide: fix typo * op-guide: address comments * tikv: Fix typo (#512) * op-guide: ansible deployment add dev_mode variable note (#510) * *: reorganize TiDB deployment related docs (#511) * *: reorganize TiDB deployment related docs Via: pingcap/docs-cn#766, pingcap/docs-cn#770, pingcap/docs-cn#772 * op-guide: address comments * op-guide: address comments * op-guide: update links, format, and port variable (#513) Via: pingcap/docs-cn#766, pingcap/docs-cn#782 * op-guide: update deployment links and fix typo (#514) * faq: add FAQ questions (#509) * faq: add FAQ questions * Fix typo and format * Update wording * Update wording and delete an extra period * releases, readme: add the release notes for 2.1 beta (#516) * releases, readme: add the release notes for 2.1 beta * Fix the format * tikv: update ansible deployment links (#518) * tikv: remove the TiKV binary deployment doc (#519) * tools: replace generate binlog position with binlogctl (#517) * tools: replace generate binlog position with binlogctl * Update tidb-binlog-kafka.md * releases, readme: add the release notes for 2.0.5 (#522) * tools: update wording (#523) * update TiKV roadmap (#525) * sql: disable transaction auto retry (#521) * sql: disable transaction auto retry Via: pingcap/docs-cn#784 * sql: address the comment * adopters: add, update and remove certain adopters (#526) Via: pingcap/docs-cn#786, pingcap/docs-cn#801 * Update Adopters' Industry Category (#524) Updated certain adopters' industry category with more standard and well-understood names. * FAQ: add 4 new questions and answers (#527) Via: pingcap/docs-cn#783 * Update go-client-api.md (#528) Tiny typo. * adopter, faq: update the adopter list (#529) * Fix the wrong statement * Fix a typo * Fix the statement * Fix the quotation mark * Update the statement of tikv-ctl * Update the MySQL related statement * Update the statement regarding the MySQL client * Add the link to the tutorial * adopter: update the latest adopter list * fix a type in faq * Address comments * op-guide: add configuring CPUfreq governor mode (#531) * op-guide: add configuring CPUfreq governor mode * Fix the code block format * Update ansible-deployment.md * Update wording * adopters: update table format (#533) * adopters: update table format * adopters: fix table format * adopters: update table alignment (#536) * op-guide: add configuring CPUfreq governor mode (#534) * tools, FAQ, op-guide: update compact, drainer, questions and upgrade info (#537) * tools: add drainer output via: pingcap/docs-cn#795 * tools: update compact command via: pingcap/docs-cn#771 * FAQ: update questions Transpose one question according to the Chinese version. via: pingcap/docs-cn#792 * op-guide: add upgrade info via: pingcap/docs-cn#799 * tools: address comment via: #530 * tools, op-guide: address comment via: #537 * remove plan cache in config file (#538) * correct gc duration error message (#539) * op-guide: add description for txn-local-latches (#535) * tools: add drainer output via: pingcap/docs-cn#795 * op-guide: add description for txn-local-latches via: pingcap/docs-cn#776 * op-guide: address comment Via: #535 * tools, op-guide: update configuration and PD Control (#532) * tools, op-guide: update configuration and PD Control Via: pingcap/docs-cn#781, pingcap/docs-cn#794, pingcap/docs-cn#796, pingcap/docs-cn#802, pingcap/docs-cn#803 * tools: address the comment * tools: address comments * tools: add jq usages for pd-ctl (#542) * tools: add jq usages for pd-ctl Via: pingcap/docs-cn#790 * tools: address the comment Via: https://github.com/pingcap/docs-cn/pull/790/files * op-guide: use tidb user with sudo privilege to run deploy_ntp.yml (#544) * tools: add dynamically modifying RocksDB configuration (#541) * tools: add dynamically modifying RocksDB configuration * Update wording * tools: update the code block in PD Control (#545) Via: pingcap/docs-cn#809 * op-guide: add accessing Spark with Python or R (#546) Via: pingcap/tidb-docker-compose#27 * op-guide: add notes about @@ (#547) * op-guide: add notes about @@ * Update wording * Update wording * Update wording * *: add summary metadata to all docs files for SEO (#550) * op-guide, tool: add summary metadata (#548) * op-guide: add summary metadata * op-guide: add summary metadata#2 * tool: add summary metadata * op-guide: address comment * *: add summary metadata to 63 docs files (#549) * *: add summary metadata to 63 docs files * tikv: update summary wording * faq: fix typo and update wording (#552) * tools: add cluster version in pd-control (#551) * tools: add cluster version Via: pingcap/docs-cn#812 * tools: address the comment * op-guide: fix generated-docker-compose description (#555) Via: pingcap/docs-cn#820 * tispark: update title level and description (#554) * tools: update the leader transfer example (#553) Via: pingcap/docs-cn#819 * op-guide: fix display of a code block in note (#556) * op-guide: fix code block display (#557) * op-guide: fix grammar mistakes in gc (#558) * tools, readme: add pd recover usage document (#560) * tools, readme: add pd recover usage document Via: pingcap/docs-cn#818 * tools: address comment * tikv, op-guide: refine TiKV Ansible deployment steps and update IPs (#559) * tikv, op-guide: refine TiKV Ansible deployment steps and update IPs Via: #508, #531, ... * op-guide, tikv: address comments * op-guide: add advertise-address to TiDB configuration (#543) * add advertise-address to configuration.md * refine comment * refine comment * refine code * releases, readme: add TiDB 2.0.6 release notes (#562) * op-guide, sql, tool: fix comma misuse (#565) To change the Chinese commas into the English commas in three English documents * op-guide, tikv: update ansible `useradd` command (#564) Via: pingcap/docs-cn#834 * op-guide: update cross-region deployment description (#563) Via: pingcap/docs-cn#824 * op-guide: update PD scaling steps (#567) Via: pingcap/docs-cn#836 * scripts/check_requirement: match one or more digits (#569) * op-guide: fix some indicators (#568) Via: pingcap/docs-cn#810 * tools/pd-control: add option of disable-namespace-relocation (#573) * tools: add more sub commands for tikv-ctl (#572) Signed-off-by: qupeng <qupeng@pingcap.com> * tools: fix typo and add a blank line (#576) * job_id must not be quoted (#575) The correct syntax requires no quotes. * FAQ: add 3 questions (#571) * FAQ: add 3 questions and update description Via: pingcap/docs-cn#832 * FAQ: address the comment * overview, media: add TiSpark and update architecture image (#579) * overview, media: add TiSpark and update architecture image Via: pingcap/docs-cn#838, pingcap/docs-cn#850 * overview: address the comment * roadmap: TiDB operator has been released (#574) * TiDB operator has been released Since TiDB operator has been released, does it make sense to check off this box? * roadmap: fix typo * op-guide: remove inventory.ini variable (#580) * tools: add two commands in tikv-ctl (#581) * tools: add two commands in tikv-ctl * tools: address the comment * tools: address comments * tools: update wording * sql: update explain format for TiDB 2.1 (#578) * op-guide: add missing arguments (#582) * sql: update the step of the "Auto Increment ID" (#577) Via: pingcap/docs-cn#842 * releases, readme: Add release notes for 2.1 RC1 (#586) * releases, readme: add the release notes for 2.1 RC1 * Revert "releases, readme: add the release notes for 2.1 RC1" This reverts commit 5d7d5b8. * releases, readme: add the release notes for 2.1 RC 1 * sql: add 8003 error code description (#588) Via: pingcap/docs-cn#839 * *: add slow-query doc (#587) * sql: add default differences between TiDB and MySQL (#591) * sql: add default differences between TiDB and MySQL Via: #590 * sql: address the comment * op-guide: update tikv rolling udpate policy (#592) * sql: add new tidb specific system variables (#589) * sql: add new tidb specific system variables Via: pingcap/docs-cn#852 * sql: address the comment * QUICKSTART, op-guide: reorganize the content (#583) * QUICKSTART, op-guide: reorganize and add the content * op-guide, QUICKSTART: address the comment * *: address the comment * *: address the comment * op-guide: update the monitoring section * readme, quickstart: reorganize the quick start structure (#594) * readme, quickstart: reorganize the quick start structure * QUICKSTART: add a link to try tidb * trytidb: add more information * Address comments * Address comments * quickstart: add a blank line * refine two inaccurate description (#595) * refine two inaccurate description * address comment * op-guide: Add Kubernetes Deployment (#593) * Add GKE Deployment * Added GKE Tutorial * Renamed to Kubernetes * Update README.md * Update README.md * Changed to Kubernetes generic * Update kubernetes.md * op-guide: update wording (#600) * *: Reorganize quick start to promote other platforms (#598) * Change to links to major deployment platforms * Update QUICKSTART.md * Update QUICKSTART.md * Update QUICKSTART.md * Update QUICKSTART.md * Remove tutorial from navigation It is in Quickstart now. * Improved link to edit directly * Update QUICKSTART.md * Minor correction Minor editorial correction to framing components of TiDB platform * Changed third party to unofficial i.e. not part of official documentation project, but may include PingCAP employees. * Addressing Feedback * Update QUICKSTART.md * op-guide: fix a code typo in Ansible scaling (#602) * readme, releases: add 2.0.7 release notes (#603) * releases, readme: add the release notes for 2.1 RC1 * Revert "releases, readme: add the release notes for 2.1 RC1" This reverts commit 5d7d5b8. * readme, releases: add 2.0.7 release notes * sql: Default tidb_ddl_reorg_priority is slow (#610) * Default tidb_ddl_reorg_priority is slow * Fix incorrect indent level * *: split overview.md into sub documents (#611) Reorganized Introduction * sql: YEAR(2) is not supported, M is display width (#608) * YEAR(2) is not supported, M is display width * Fixed punctuation point (existing issue) * sql: Remove unsupported functions (#607) * Document support for IGNORE n LINES (#601) * sql: Clarify default character-set is utf8 (#609) * Clarified default characterset. * latin1 keyword as code * sql: remove documentation about read committed (#614) * op-guide: update tidb-ansible and version note (#615) Via: pingcap/docs-cn#872 * *: Include bikeshare example database in manual (#596) Include bikeshare example database. * sql: Add example to QEP manual page (#599) Add example EXPLAIN usage with bikeshare sample database * op-guide: update timezone variable (#618) Via: pingcap/docs-cn#877 * sql, readme: update timezone support (#617) Via: pingcap/docs-cn#876 * Added link to compatibility man page (#613) * error: change the to (#616) * sql: Added incompatibilities with MySQL (#604) * Added incompatibilities with MySQL events, sys do not exist pfs exists but returns empty. * Changed monitoring to performance metrics * Improve unsupported features * Make all items plural * Improved Clarity Remove 'the' from Foreign keys / fulltext / spatial indexes Clarify that it is not non-utf8 characters, but character sets other than utf8. * utf8 as code * Added Storage engines to compatibility * Update mysql-compatibility.md * Added link to --store * Add large transactions and EXPLAIN command * Added Optimizer Trace To differentiate: TiDB has query-tracing, mysql has optimizer tracing. * lowercase t * Include PR605 Add default differences * lower m * Fixed spacing * Addressed PR Feedback * Addressed PR feedback * Fix broken manual page (#620) Inline code inside blockquote * Improved consistency of variable descriptions (#612) * tools: add more commands in pd-control (#619) * releases, readme: add 2.1 RC2 release notes (#621) * sql: add parentheses for TIDB_VERSION (#622) * overview: update a link (#623) Via: pingcap/docs-cn#890 * sql: fix wording (#624) * Added hostname support (#631) Recently added pingcap/tidb#7750 * Document character sets / collations (#628) This was recently improved in pingcap/tidb#7647 * sql: Add recent JSON functionality (#632) * Add recent JSON functionality * Update json-functions-generated-column.md * pd-ctl: add topsize command and change the default value of limit to 16 (#627) * update the go version * add topsize command; change the default value of the limit to 16 * Update tune-tikv.md (#634) https://github.com/tikv/tikv/blob/master/src/raftstore/store/config.rs#L60 * benchmark, media: add tpc-h benchmark (#636) Via: pingcap/docs-cn#896 * op-guide, tikv: update tidb and tikv docker compose steps (#635) * op-guide: move buildFrom to buildPath for docker compose guide Via: pingcap/docs-cn#893, pingcap/tidb-docker-compose#3 * op-guide: modify yaml to yml * op-guide: address comments * op-guide: update wording to address the comment * tikv: improve code * op-guide: update `vim` in TiDB docker compose * faq: some adjustments to Syncer related content (#638) * releases, readme: add 2.1 RC3 release notes (#639) * releases, readme: add 2.1 RC3 release notes * releases: update format * tikv: update docker compose steps (#641) Via: tikv/tikv#3643 * op-guide: update TiDB download links (#640) * op-guide: update TiDB download links Via: pingcap/docs-cn#899 * op-guide: address comments * op-guide: fix monitor typos (#652) * roadmap: update TiKV roadmap (#651) Via: tikv/tikv#3641 * pd-ctl: update the output of command health. (#642) * update the go version * add topsize command; change the default value of the limit to 16 * update the output of command health * benchmark, media: add v2.1 vs v2.0 sysbench results (#643) * benchmark, media: add v2.1 vs v2.0 sysbench results Via: pingcap/docs-cn#897 * benchmark: address the comment * benchmark: address comments * roadmap: update TiDB roadmap (#654) * roadmap: update TiDB roadmap Via: pingcap/docs-cn#912 * roadmap: address the comment * op-guide: fix a typo in ansible deployment (#655) * sql: fix a typo and update wording (#653) Via: pingcap/docs-cn#917 * fix some tikv-ctl parameters (#637) * readme: link TiKV docs to the tikv repo (#659) * readme: improved best practices link (#650) Set to canonical location. * tools: update operator Region split (#658) Via: pingcap/docs-cn#866 * Remove deprecation note (#648) Unrelated to TIDB * op-guide, tools: Recommend mydumper from enterprise tools (#644) Recommend our mydumper over upstream mydumper. Updated backup-restore, FAQ and added a tools page describing the differences. * architecture, features: Improve Overview (#649) * Update architecture.md * Remove TiDB Features * Delete features.md * Updated links * Removed Roadmap and connect with us Both are already top-level menu items * Update tikv faq (#664) * Trim whitespace * Update tikv faq * FAQ: Restore deleted content (#665) * sql: update slow query document (#663) * sql: update slow query document * address comment * address comment * address comment * faq, sql: Document tidb_force_priority (#645) Add FAQ, server option docs. * Added xprotocol to unsupported (#661) * sql: Rename TiDB proprietary variables to TiDB specific (#666) * Update tidb-specific.md * Update README.md * Improved introduction * Update tidb-specific.md * sql, readme: add SQL optimization process (#660) * Add XML functions to incompatible (#668) * op-guide: fix variable description (#670) Via: pingcap/docs-cn#928 * *: update ETL description (#671) * overview, readme: update ETL wording (#677) * releases, readme: add 2.0.8 release notes (#676) * releases, readme: add 2.0.8 release notes * Update format * Revert "overview, readme: update ETL wording" (#678) * Revert "releases, readme: add 2.0.8 release notes (#676)" This reverts commit e466fd3. * Revert "overview, readme: update ETL wording (#677)" This reverts commit 6a754d9. * readme, sql: Improve JSON Documentation (#656) * Reduced duplication with generated columns vs json functions pages. * Added section for unsupported functions. * Improved example * *: update links for SEO
@MyonKeminta @lilin90 PTAL
via pingcap/docs-cn#679