diff --git a/best-practices/massive-regions-best-practices.md b/best-practices/massive-regions-best-practices.md index 68ddef7d73f5..087a537efc3f 100644 --- a/best-practices/massive-regions-best-practices.md +++ b/best-practices/massive-regions-best-practices.md @@ -134,7 +134,7 @@ config set merge-schedule-limit 8 ### 方法六:调整 Region 大小 -Region 默认的大小约为 96 MiB,将其调大也可以减少 Region 个数,具体介绍可参考[使用更大的 Region](/tune-region-performance.md)。 +Region 默认的大小约为 256 MiB,将其调大也可以减少 Region 个数,具体介绍可参考[使用更大的 Region](/tune-region-performance.md)。 > **警告:** > diff --git a/glossary.md b/glossary.md index 3ba5be927b91..f5814c290dd8 100644 --- a/glossary.md +++ b/glossary.md @@ -139,7 +139,7 @@ Pending 和 Down 是 Peer 可能出现的两种特殊状态。其中 Pending 表 ### Region/Peer/Raft Group -每个 Region 负责维护集群的一段连续数据(默认配置下平均约 96 MiB),每份数据会在不同的 Store 存储多个副本(默认配置是 3 副本),每个副本称为 Peer。同一个 Region 的多个 Peer 通过 raft 协议进行数据同步,所以 Peer 也用来指代 raft 实例中的成员。TiKV 使用 multi-raft 模式来管理数据,即每个 Region 都对应一个独立运行的 raft 实例,我们也把这样的一个 raft 实例叫做一个 Raft Group。 +每个 Region 负责维护集群的一段连续数据(默认配置下平均约 256 MiB),每份数据会在不同的 Store 存储多个副本(默认配置是 3 副本),每个副本称为 Peer。同一个 Region 的多个 Peer 通过 raft 协议进行数据同步,所以 Peer 也用来指代 raft 实例中的成员。TiKV 使用 multi-raft 模式来管理数据,即每个 Region 都对应一个独立运行的 raft 实例,我们也把这样的一个 raft 实例叫做一个 Raft Group。 ### Region Split diff --git a/tidb-storage.md b/tidb-storage.md index 97bc12b73e05..0a388b2308a0 100644 --- a/tidb-storage.md +++ b/tidb-storage.md @@ -48,7 +48,7 @@ TiKV 利用 Raft 来做数据复制,每个数据变更都会落地为一条 Ra * Hash:按照 Key 做 Hash,根据 Hash 值选择对应的存储节点。 * Range:按照 Key 分 Range,某一段连续的 Key 都保存在一个存储节点上。 -TiKV 选择了第二种方式,将整个 Key-Value 空间分成很多段,每一段是一系列连续的 Key,将每一段叫做一个 Region,可以用 [StartKey,EndKey) 这样一个左闭右开区间来描述。每个 Region 中保存的数据量默认维持在 96 MiB 左右(可以通过配置修改)。 +TiKV 选择了第二种方式,将整个 Key-Value 空间分成很多段,每一段是一系列连续的 Key,将每一段叫做一个 Region,可以用 [StartKey,EndKey) 这样一个左闭右开区间来描述。每个 Region 中保存的数据量默认维持在 256 MiB 左右(可以通过配置修改)。 ![Region in TiDB](/media/tidb-storage-2.png) diff --git a/tikv-overview.md b/tikv-overview.md index e28f1de81733..ee5dddd766dc 100644 --- a/tikv-overview.md +++ b/tikv-overview.md @@ -22,7 +22,7 @@ TiKV 是一个分布式事务型的键值数据库,提供了满足 ACID 约束 Region 与副本之间通过 Raft 协议来维持数据一致性,任何写请求都只能在 Leader 上写入,并且需要写入多数副本后(默认配置为 3 副本,即所有请求必须至少写入两个副本成功)才会返回客户端写入成功。 -TiKV 会尽量保持每个 Region 中保存的数据在一个合适的大小,目前默认是 96 MB,这样更有利于 PD 进行调度决策。当某个 Region 的大小超过一定限制(默认是 144 MiB)后,TiKV 会将它分裂为两个或者更多个 Region。同样,当某个 Region 因为大量的删除请求而变得太小时(默认是 20 MiB),TiKV 会将比较小的两个相邻 Region 合并为一个。 +TiKV 会尽量保持每个 Region 中保存的数据在一个合适的大小,目前默认是 256 MB,这样更有利于 PD 进行调度决策。当某个 Region 的大小超过一定限制(默认是 144 MiB)后,TiKV 会将它分裂为两个或者更多个 Region。同样,当某个 Region 因为大量的删除请求而变得太小时(默认是 54 MiB),TiKV 会将比较小的两个相邻 Region 合并为一个。 当 PD 需要把某个 Region 的一个副本从一个 TiKV 节点调度到另一个上面时,PD 会先为这个 Raft Group 在目标节点上增加一个 Learner 副本(虽然会复制 Leader 的数据,但是不会计入写请求的多数副本中)。当这个 Learner 副本的进度大致追上 Leader 副本时,Leader 会将它变更为 Follower,之后再移除操作节点的 Follower 副本,这样就完成了 Region 副本的一次调度。