From 48c32ea79999674cd0f4b1d5fcfc9607e54ccc37 Mon Sep 17 00:00:00 2001 From: Feng Liyuan Date: Wed, 27 May 2020 13:40:15 +0800 Subject: [PATCH 1/2] architecture: fix link --- tidb-computing.md | 2 +- tidb-storage.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tidb-computing.md b/tidb-computing.md index e4872ea825e1..4167000b368d 100644 --- a/tidb-computing.md +++ b/tidb-computing.md @@ -122,7 +122,7 @@ TiDB 的 SQL 层,即 TiDB Server,负责将 SQL 翻译成 Key-Value 操作, ### SQL 运算 -最简单的方案就是通过上一节所述的[表中所有数据和 Key-Value 的映射关系](#1-表数据与-key-value-的映射关系)映射方案,将 SQL 查询映射为对 KV 的查询,再通过 KV 接口获取对应的数据,最后执行各种计算。 +最简单的方案就是通过上一节所述的[表数据与 Key-Value 的映射关系](#表数据与-key-value-的映射关系)映射方案,将 SQL 查询映射为对 KV 的查询,再通过 KV 接口获取对应的数据,最后执行各种计算。 比如 `select count(*) from user where name = "TiDB"` 这样一个 SQL 语句,它需要读取表中所有的数据,然后检查 `name` 字段是否是 `TiDB`,如果是的话,则返回这一行。具体流程如下: diff --git a/tidb-storage.md b/tidb-storage.md index afdb38717b1d..44753f21fe63 100644 --- a/tidb-storage.md +++ b/tidb-storage.md @@ -99,7 +99,7 @@ KeyN_Version1 -> Value …… ``` -注意,对于同一个 Key 的多个版本,版本号较大的会被放在前面,版本号小的会被放在后面(见 [Key-Value](#key-value-pairs-键值对) 一节, Key 是有序的排列),这样当用户通过一个 Key + Version 来获取 Value 的时候,可以通过 Key 和 Version 构造出 MVCC 的 Key,也就是 Key_Version。然后可以直接通过 RocksDB 的 SeekPrefix(Key_Version) API,定位到第一个大于等于这个 Key_Version 的位置。 +注意,对于同一个 Key 的多个版本,版本号较大的会被放在前面,版本号小的会被放在后面(见 [Key-Value](#key-value-pairs键值对) 一节, Key 是有序的排列),这样当用户通过一个 Key + Version 来获取 Value 的时候,可以通过 Key 和 Version 构造出 MVCC 的 Key,也就是 Key_Version。然后可以直接通过 RocksDB 的 SeekPrefix(Key_Version) API,定位到第一个大于等于这个 Key_Version 的位置。 ## 分布式 ACID 事务 From 7f888bef6825294825de77af23b861567c58bc49 Mon Sep 17 00:00:00 2001 From: Feng Liyuan Date: Wed, 27 May 2020 14:12:10 +0800 Subject: [PATCH 2/2] Update tidb-computing.md Co-authored-by: Keke Yi <40977455+yikeke@users.noreply.github.com> --- tidb-computing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tidb-computing.md b/tidb-computing.md index 4167000b368d..7da7e317269a 100644 --- a/tidb-computing.md +++ b/tidb-computing.md @@ -122,7 +122,7 @@ TiDB 的 SQL 层,即 TiDB Server,负责将 SQL 翻译成 Key-Value 操作, ### SQL 运算 -最简单的方案就是通过上一节所述的[表数据与 Key-Value 的映射关系](#表数据与-key-value-的映射关系)映射方案,将 SQL 查询映射为对 KV 的查询,再通过 KV 接口获取对应的数据,最后执行各种计算。 +最简单的方案就是通过上一节所述的[表数据与 Key-Value 的映射关系](#表数据与-key-value-的映射关系)方案,将 SQL 查询映射为对 KV 的查询,再通过 KV 接口获取对应的数据,最后执行各种计算。 比如 `select count(*) from user where name = "TiDB"` 这样一个 SQL 语句,它需要读取表中所有的数据,然后检查 `name` 字段是否是 `TiDB`,如果是的话,则返回这一行。具体流程如下: