Skip to content

Commit

Permalink
update the feature name of Partitioned Raft KV (#14496)
Browse files Browse the repository at this point in the history
  • Loading branch information
Oreoxmt authored Jul 13, 2023
1 parent 665d0a5 commit abaeadc
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 24 deletions.
2 changes: 1 addition & 1 deletion TOC.md
Original file line number Diff line number Diff line change
Expand Up @@ -617,7 +617,7 @@
- [RocksDB 简介](/storage-engine/rocksdb-overview.md)
- [Titan 简介](/storage-engine/titan-overview.md)
- [Titan 配置说明](/storage-engine/titan-configuration.md)
- [分区 Raft KV](/partitioned-raft-kv.md)
- [Partitioned Raft KV](/partitioned-raft-kv.md)
- 存储引擎 TiFlash
- [TiFlash 简介](/tiflash/tiflash-overview.md)
- [构建 TiFlash 副本](/tiflash/create-tiflash-replicas.md)
Expand Down
12 changes: 6 additions & 6 deletions partitioned-raft-kv.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
---
title: 分区 Raft KV
summary: 了解 TiKV 的分区 Raft KV 特性。
title: Partitioned Raft KV
summary: 了解 TiKV 的 Partitioned Raft KV 特性。
---

# 分区 Raft KV
# Partitioned Raft KV

> **警告:**
>
> 分区 Raft KV 目前为实验特性,不建议在生产环境中使用。该功能可能会在未事先通知的情况下发生变化或删除。如果发现 bug,请在 GitHub 上提 [issue](https://github.com/pingcap/tidb/issues) 反馈。
> Partitioned Raft KV 目前为实验特性,不建议在生产环境中使用。该功能可能会在未事先通知的情况下发生变化或删除。如果发现 bug,请在 GitHub 上提 [issue](https://github.com/pingcap/tidb/issues) 反馈。
v6.6.0 之前,基于 Raft 的存储引擎,TiKV 使用单个 RocksDB 实例存储该 TiKV 实例所有 Region 的数据。

为了更平稳地支持更大的集群,从 v6.6.0 开始,TiDB 引入了一个全新的 TiKV 存储引擎,该引擎使用多个 RocksDB 实例来存储 TiKV 的 Region 数据,每个 Region 的数据都独立存储在单个 RocksDB 实例中。

新的 TiKV 引擎能够更好地控制 RocksDB 实例的文件数和层级,并实现了 Region 间数据操作的物理隔离,避免相互影响。同时,该引擎支持平稳管理更多的数据。你可以理解为,TiKV 通过分区管理多个 RocksDB 实例,这也是该特性分区 Raft KV 名字的由来。
新的 TiKV 引擎能够更好地控制 RocksDB 实例的文件数和层级,并实现了 Region 间数据操作的物理隔离,避免相互影响。同时,该引擎支持平稳管理更多的数据。你可以理解为,TiKV 通过分区管理多个 RocksDB 实例,这也是该特性 Partitioned Raft KV 名字的由来。

## 使用场景

Expand All @@ -29,7 +29,7 @@ v6.6.0 之前,基于 Raft 的存储引擎,TiKV 使用单个 RocksDB 实例

## 使用方法

要启用分区 Raft KV,需要在创建集群时将配置项 [`storage.engine`](/tikv-configuration-file.md#engine-从-v660-版本开始引入) 设为 `"partitioned-raft-kv"`。同时,在使用分区 Raft KV 特性时,可以通过配置项 [`rocksdb.write-buffer-flush-oldest-first`](/tikv-configuration-file.md#write-buffer-flush-oldest-first-从-v660-版本开始引入)[`rocksdb.write-buffer-limit`](/tikv-configuration-file.md#write-buffer-limit-从-v660-版本开始引入) 来控制 RocksDB 的内存使用。
要启用 Partitioned Raft KV,需要在创建集群时将配置项 [`storage.engine`](/tikv-configuration-file.md#engine-从-v660-版本开始引入) 设为 `"partitioned-raft-kv"`。同时,在使用 Partitioned Raft KV 特性时,可以通过配置项 [`rocksdb.write-buffer-flush-oldest-first`](/tikv-configuration-file.md#write-buffer-flush-oldest-first-从-v660-版本开始引入)[`rocksdb.write-buffer-limit`](/tikv-configuration-file.md#write-buffer-limit-从-v660-版本开始引入) 来控制 RocksDB 的内存使用。

## 使用限制

Expand Down
8 changes: 4 additions & 4 deletions releases/release-6.6.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ TiDB 版本:6.6.0-[DMR](/releases/versioning.md#开发里程碑版本)
<tbody>
<tr>
<td rowspan="3">可扩展性与性能<br /></td>
<td>TiKV 支持<a href="https://docs.pingcap.com/zh/tidb/v6.6/partitioned-raft-kv" target="_blank">分区 Raft KV 存储引擎</a>(实验特性)</td>
<td>TiKV 引入下一代存储引擎分区 Raft KV,通过每个数据 Region 独享 RocksDB 实例,可将集群的存储能力从 TB 级扩展到 PB 级,并提供更稳定的写入延迟和更强大的扩容能力。</td>
<td>TiKV 支持 <a href="https://docs.pingcap.com/zh/tidb/v6.6/partitioned-raft-kv" target="_blank">Partitioned Raft KV 存储引擎</a>(实验特性)</td>
<td>TiKV 引入下一代存储引擎 Partitioned Raft KV,通过每个数据 Region 独享 RocksDB 实例,可将集群的存储能力从 TB 级扩展到 PB 级,并提供更稳定的写入延迟和更强大的扩容能力。</td>
</tr>
<tr>
<td>TiKV 支持<a href="https://docs.pingcap.com/zh/tidb/v6.6/system-variables#tidb_store_batch_size" target="_blank">批量聚合数据请求</a></td>
Expand Down Expand Up @@ -69,9 +69,9 @@ TiDB 版本:6.6.0-[DMR](/releases/versioning.md#开发里程碑版本)

### 可扩展性

* 支持下一代分区 Raft KV 存储引擎(实验特性)[#11515](https://github.com/tikv/tikv/issues/11515) [#12842](https://github.com/tikv/tikv/issues/12842) @[busyjay](https://github.com/busyjay) @[tonyxuqqi](https://github.com/tonyxuqqi) @[tabokie](https://github.com/tabokie) @[bufferflies](https://github.com/bufferflies) @[5kbpers](https://github.com/5kbpers) @[SpadeA-Tang](https://github.com/SpadeA-Tang) @[nolouch](https://github.com/nolouch)
* 支持下一代 Partitioned Raft KV 存储引擎(实验特性)[#11515](https://github.com/tikv/tikv/issues/11515) [#12842](https://github.com/tikv/tikv/issues/12842) @[busyjay](https://github.com/busyjay) @[tonyxuqqi](https://github.com/tonyxuqqi) @[tabokie](https://github.com/tabokie) @[bufferflies](https://github.com/bufferflies) @[5kbpers](https://github.com/5kbpers) @[SpadeA-Tang](https://github.com/SpadeA-Tang) @[nolouch](https://github.com/nolouch)

TiDB v6.6.0 之前,TiKV 基于 Raft 的存储引擎使用一个单一的 RocksDB 实例存储该 TiKV 实例所有 Region 的数据。为了更平稳地支持更大的集群,从 TiDB v6.6.0 开始,引入了一个全新的 TiKV 存储引擎,该引擎使用多个 RocksDB 实例来存储 TiKV 的 Region 数据,每个 Region 的数据都独立存储在单独的 RocksDB 实例中。新引擎能够更好地控制 RocksDB 实例的文件数和层级,并实现 Region 间数据操作的物理隔离,避免互相影响,还支持平稳管理更多的数据。可以理解为 TiKV 通过分区管理多个 RocksDB 实例,这也是该特性分区 Raft KV 名字的由来。该功能的主要优势在于更好的写入性能,更快的扩缩容,相同硬件下可以支持更大的数据,也能支持更大的集群规模。
TiDB v6.6.0 之前,TiKV 基于 Raft 的存储引擎使用一个单一的 RocksDB 实例存储该 TiKV 实例所有 Region 的数据。为了更平稳地支持更大的集群,从 TiDB v6.6.0 开始,引入了一个全新的 TiKV 存储引擎,该引擎使用多个 RocksDB 实例来存储 TiKV 的 Region 数据,每个 Region 的数据都独立存储在单独的 RocksDB 实例中。新引擎能够更好地控制 RocksDB 实例的文件数和层级,并实现 Region 间数据操作的物理隔离,避免互相影响,还支持平稳管理更多的数据。可以理解为 TiKV 通过分区管理多个 RocksDB 实例,这也是该特性 Partitioned Raft KV 名字的由来。该功能的主要优势在于更好的写入性能,更快的扩缩容,相同硬件下可以支持更大的数据,也能支持更大的集群规模。

该功能目前是实验特性,不推荐在生产环境中使用。

Expand Down
16 changes: 8 additions & 8 deletions releases/release-7.1.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ TiDB 7.1.0 为长期支持版本 (Long-Term Support Release, LTS)。
<td>在读热点场景中,TiDB 可以将热点 TiKV 节点的读请求转发到副本。该功能有效地打散了读热点并优化了集群资源的利用。你可以通过调整系统变量 <a href="https://docs.pingcap.com/zh/tidb/v7.1/system-variables#tidb_load_based_replica_read_threshold-从-v700-版本开始引入" target="_blank"><code>tidb_load_based_replica_read_threshold</code></a> 控制基于负载的副本读取的触发阈值。</td>
</tr>
<tr>
<td>TiKV 支持<a href="https://docs.pingcap.com/zh/tidb/v7.1/partitioned-raft-kv" target="_blank">分区 Raft KV 存储引擎 </a>(实验特性)</td>
<td>TiKV 引入新一代存储引擎分区 Raft KV,通过每个数据 Region 独享 RocksDB 实例,可将集群的存储能力从 TB 级扩展到 PB 级,并提供更稳定的写入延迟和更强大的扩容能力。</td>
<td>TiKV 支持 <a href="https://docs.pingcap.com/zh/tidb/v7.1/partitioned-raft-kv" target="_blank">Partitioned Raft KV 存储引擎 </a>(实验特性)</td>
<td>TiKV 引入新一代存储引擎 Partitioned Raft KV,通过每个数据 Region 独享 RocksDB 实例,可将集群的存储能力从 TB 级扩展到 PB 级,并提供更稳定的写入延迟和更强大的扩容能力。</td>
</tr>
<tr>
<td rowspan="2">稳定性与高可用</td>
Expand Down Expand Up @@ -84,11 +84,11 @@ TiDB 7.1.0 为长期支持版本 (Long-Term Support Release, LTS)。

### 性能

* 增强分区 Raft KV 存储引擎(实验特性)[#11515](https://github.com/tikv/tikv/issues/11515) [#12842](https://github.com/tikv/tikv/issues/12842) @[busyjay](https://github.com/busyjay) @[tonyxuqqi](https://github.com/tonyxuqqi) @[tabokie](https://github.com/tabokie) @[bufferflies](https://github.com/bufferflies) @[5kbpers](https://github.com/5kbpers) @[SpadeA-Tang](https://github.com/SpadeA-Tang) @[nolouch](https://github.com/nolouch)
* 增强 Partitioned Raft KV 存储引擎(实验特性)[#11515](https://github.com/tikv/tikv/issues/11515) [#12842](https://github.com/tikv/tikv/issues/12842) @[busyjay](https://github.com/busyjay) @[tonyxuqqi](https://github.com/tonyxuqqi) @[tabokie](https://github.com/tabokie) @[bufferflies](https://github.com/bufferflies) @[5kbpers](https://github.com/5kbpers) @[SpadeA-Tang](https://github.com/SpadeA-Tang) @[nolouch](https://github.com/nolouch)

TiDB v6.6.0 引入了分区 Raft KV 存储引擎作为实验特性,该引擎使用多个 RocksDB 实例存储 TiKV 的 Region 数据,每个 Region 的数据都独立存储在单独的 RocksDB 实例中。分区 Raft KV 能够更好地控制 RocksDB 实例的文件数和层级,实现 Region 间数据操作的物理隔离,并支持平稳管理更多的数据。与原 TiKV 存储引擎相比,使用分区 Raft KV 引擎在相同硬件条件和读写混合场景下,可以实现大约两倍的写入吞吐并缩短大约 4/5 的弹性扩展时间。
TiDB v6.6.0 引入了 Partitioned Raft KV 存储引擎作为实验特性,该引擎使用多个 RocksDB 实例存储 TiKV 的 Region 数据,每个 Region 的数据都独立存储在单独的 RocksDB 实例中。Partitioned Raft KV 能够更好地控制 RocksDB 实例的文件数和层级,实现 Region 间数据操作的物理隔离,并支持平稳管理更多的数据。与原 TiKV 存储引擎相比,使用 Partitioned Raft KV 引擎在相同硬件条件和读写混合场景下,可以实现大约两倍的写入吞吐并缩短大约 4/5 的弹性扩展时间。

在 TiDB v7.1.0 中,分区 Raft KV 引擎与 TiFlash 兼容,并支持 TiDB Lightning、BR 和 TiCDC 等工具。
在 TiDB v7.1.0 中,Partitioned Raft KV 引擎与 TiFlash 兼容,并支持 TiDB Lightning、BR 和 TiCDC 等工具。

该功能目前是实验特性,不推荐在生产环境中使用。目前仅支持在新集群中使用新引擎,暂不支持从原 TiKV 存储引擎直接升级到该引擎。

Expand Down Expand Up @@ -353,7 +353,7 @@ TiDB 7.1.0 为长期支持版本 (Long-Term Support Release, LTS)。
| TiKV | [`split.byte-threshold`](/tikv-configuration-file.md#byte-threshold-从-v50-版本开始引入) | 修改 | 当 [`region-split-size`](/tikv-configuration-file.md#region-split-size) 大于等于 4 GB 时,默认值从 `30MiB` 修改为 `100MiB`。 |
| TiKV | [`split.qps-threshold`](/tikv-configuration-file.md#qps-threshold) | 修改 | 当 [`region-split-size`](/tikv-configuration-file.md#region-split-size) 大于等于 4 GB 时,默认值从 `3000` 修改为 `7000`。 |
| TiKV | [`split.region-cpu-overload-threshold-ratio`](/tikv-configuration-file.md#region-cpu-overload-threshold-ratio-从-v620-版本开始引入) | 修改 | 当 [`region-split-size`](/tikv-configuration-file.md#region-split-size) 大于等于 4 GB 时,默认值从 `0.25` 修改为 `0.75`。 |
| TiKV | [`region-compact-check-step`](/tikv-configuration-file.md#region-compact-check-step) | 修改 | 当使用分区 Raft KV (`storage.engine="partitioned-raft-kv"`) 时,默认值从 `100` 修改为 `5`。 |
| TiKV | [`region-compact-check-step`](/tikv-configuration-file.md#region-compact-check-step) | 修改 | 当使用 Partitioned Raft KV (`storage.engine="partitioned-raft-kv"`) 时,默认值从 `100` 修改为 `5`。 |
| PD | [`store-limit-version`](/pd-configuration-file.md#store-limit-version-从-v710-版本开始引入) | 新增 | 用于设置 store limit 工作模式。可选值为 `"v1"` 和 `"v2"`。 |
| PD | [`schedule.enable-diagnostic`](/pd-configuration-file.md#enable-diagnostic-从-v630-版本开始引入) | 修改 | 默认值从 `false` 修改为 `true`,默认打开调度器的诊断功能。 |
| TiFlash | `http_port` | 删除 | 废弃 TiFlash HTTP 服务端口(默认 `8123`)。 |
Expand All @@ -379,8 +379,8 @@ TiDB 7.1.0 为长期支持版本 (Long-Term Support Release, LTS)。

+ TiKV

- 降低使用分区 Raft KV 时 Split 对写 QPS 的影响 [#14447](https://github.com/tikv/tikv/issues/14447) @[SpadeA-Tang](https://github.com/SpadeA-Tang)
- 优化使用分区 Raft KV 时 Snapshot 占用的空间 [#14581](https://github.com/tikv/tikv/issues/14581) @[bufferflies](https://github.com/bufferflies)
- 降低使用 Partitioned Raft KV 时 Split 对写 QPS 的影响 [#14447](https://github.com/tikv/tikv/issues/14447) @[SpadeA-Tang](https://github.com/SpadeA-Tang)
- 优化使用 Partitioned Raft KV 时 Snapshot 占用的空间 [#14581](https://github.com/tikv/tikv/issues/14581) @[bufferflies](https://github.com/bufferflies)
- 为 TiKV 处理请求的各个阶段提供更详细的时间信息 [#12362](https://github.com/tikv/tikv/issues/12362) @[cfzjywxk](https://github.com/cfzjywxk)
- 在日志备份中使用 PD 作为元数据存储 [#13867](https://github.com/tikv/tikv/issues/13867) @[YuJuncen](https://github.com/YuJuncen)

Expand Down
4 changes: 2 additions & 2 deletions tidb-roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ TiDB 路线图展示了 TiDB 未来的计划。随着我们发布长期稳定版
<td>
<ul>
<li>
<b>分区 Raft KV 存储引擎 GA</b><br />支持 PB 级别的集群,提升写入速度、扩缩容操作速度,提升数据整理的稳定性
<b>Partitioned Raft KV 存储引擎 GA</b><br />支持 PB 级别的集群,提升写入速度、扩缩容操作速度,提升数据整理的稳定性
</li>
<br />
<li>
Expand Down Expand Up @@ -248,7 +248,7 @@ TiDB 路线图展示了 TiDB 未来的计划。随着我们发布长期稳定版
- TiFlash 支持数据落盘 (GA)
- LDAP 身份认证
- SQL 审计日志增强(仅企业版可用)
- 分区 Raft KV 存储引擎(实验特性)
- Partitioned Raft KV 存储引擎(实验特性)
- 通用的会话级别执行计划缓存(实验特性)
- TiCDC 支持以 Kafka 为下游的分布式表级别数据同步(实验特性)

Expand Down
6 changes: 3 additions & 3 deletions tikv-configuration-file.md
Original file line number Diff line number Diff line change
Expand Up @@ -780,13 +780,13 @@ raftstore 相关的配置项。

### `region-compact-min-redundant-rows` <span class="version-mark">从 v7.1.0 版本开始引入</span>

+ 触发 RocksDB compaction 需要的冗余的 MVCC 数据行数。该配置只对分区 Raft KV (storage.engine="partitioned-raft-kv") 生效。
+ 触发 RocksDB compaction 需要的冗余的 MVCC 数据行数。该配置只对 Partitioned Raft KV (storage.engine="partitioned-raft-kv") 生效。
+ 默认值:`50000`
+ 最小值:`0`

### `region-compact-redundant-rows-percent` <span class="version-mark">从 v7.1.0 版本开始引入</span>

+ 触发 RocksDB compaction 需要的冗余的 MVCC 数据行所占比例。该配置只对分区 Raft KV (`storage.engine="partitioned-raft-kv"`) 生效。
+ 触发 RocksDB compaction 需要的冗余的 MVCC 数据行所占比例。该配置只对 Partitioned Raft KV (`storage.engine="partitioned-raft-kv"`) 生效。
+ 默认值:`20`
+ 最小值:`1`
+ 最大值:`100`
Expand Down Expand Up @@ -1282,7 +1282,7 @@ RocksDB 相关的配置项。
>
> 该功能目前为实验特性,不建议在生产环境中使用。该功能可能会在未事先通知的情况下发生变化或删除。如果发现 bug,请在 GitHub 上提 [issue](https://github.com/pingcap/tidb/issues) 反馈。
+ 设置单个 TiKV 中所有 RocksDB 实例使用的 memtable 的总内存上限,默认值为本机内存的 25%,推荐配置不低于 5 GiB 的内存。该配置只对分区 Raft KV (storage.engine="partitioned-raft-kv") 生效。
+ 设置单个 TiKV 中所有 RocksDB 实例使用的 memtable 的总内存上限,默认值为本机内存的 25%,推荐配置不低于 5 GiB 的内存。该配置只对 Partitioned Raft KV (storage.engine="partitioned-raft-kv") 生效。
+ 默认值:25%
+ 单位:KiB|MiB|GiB

Expand Down

0 comments on commit abaeadc

Please sign in to comment.