Skip to content

Commit

Permalink
*: refine placement rule in sql docs (pingcap#15190)
Browse files Browse the repository at this point in the history
  • Loading branch information
nolouch authored Nov 15, 2023
1 parent bc8cb8e commit 4bebe5e
Show file tree
Hide file tree
Showing 7 changed files with 356 additions and 167 deletions.
1 change: 1 addition & 0 deletions TOC.md
Original file line number Diff line number Diff line change
Expand Up @@ -726,6 +726,7 @@
- [`ALTER INDEX`](/sql-statements/sql-statement-alter-index.md)
- [`ALTER INSTANCE`](/sql-statements/sql-statement-alter-instance.md)
- [`ALTER PLACEMENT POLICY`](/sql-statements/sql-statement-alter-placement-policy.md)
- [`ALTER RANGE`](/sql-statements/sql-statement-alter-range.md)
- [`ALTER RESOURCE GROUP`](/sql-statements/sql-statement-alter-resource-group.md)
- [`ALTER TABLE`](/sql-statements/sql-statement-alter-table.md)
- [`ALTER TABLE COMPACT`](/sql-statements/sql-statement-alter-table-compact.md)
Expand Down
478 changes: 316 additions & 162 deletions placement-rules-in-sql.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion releases/release-6.3.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ TiDB 版本:6.3.0-DMR

* 解决基于 SQL 的数据放置规则功能和构建 TiFlash 副本功能的冲突 [#37171](https://github.com/pingcap/tidb/issues/37171) @[lcwangchao](https://github.com/lcwangchao)

TiDB 在 v6.0.0 版本提供基于 SQL 的数据放置规则功能,但是由于实现机制问题,该功能和构建 TiFlash 副本功能有冲突。v6.3.0 版本进行改进优化,[解决了这两个功能的冲突](/placement-rules-in-sql.md#使用限制),使这两个功能更加方便易用。
TiDB 在 v6.0.0 版本提供[基于 SQL 的数据放置规则](/placement-rules-in-sql.md)功能,但是由于实现机制问题,该功能和构建 TiFlash 副本功能有冲突。v6.3.0 版本进行改进优化,解决了这两个功能的冲突,使这两个功能更加方便易用。

### MySQL 兼容性

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 @@ -162,7 +162,7 @@ TiDB 版本:6.6.0-[DMR](/releases/versioning.md#开发里程碑版本)
- 对于跨云区域部署的 TiDB 集群,当某个云区域产生故障时,指定数据库或表能在另一个云区域继续提供服务。
- 对于单个云区域内部署的 TiDB 集群,当某个可用区产生故障时,指定数据库或表能在另一个可用区继续提供服务。

更多信息,请参考[用户文档](/placement-rules-in-sql.md#生存偏好)
更多信息,请参考[用户文档](/placement-rules-in-sql.md#指定生存偏好)

* 支持通过 `FLASHBACK CLUSTER TO TIMESTAMP` 命令闪回 DDL 操作 [#14088](https://github.com/tikv/tikv/issues/14045) @[Defined2014](https://github.com/Defined2014) @[JmPotato](https://github.com/JmPotato)

Expand Down Expand Up @@ -218,7 +218,7 @@ TiDB 版本:6.6.0-[DMR](/releases/versioning.md#开发里程碑版本)

更多信息,请参考[用户文档](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置)

- TiDB Lightning 向 TiKV 传输键值对时支持启用压缩传输 [#41163](https://github.com/pingcap/tidb/issues/41163) @[gozssky](https://github.com/gozssky)
- TiDB Lightning 向 TiKV 传输键值对时支持启用压缩传输 [#41163](https://github.com/pingcap/tidb/issues/41163) @[sleepymole](https://github.com/sleepymole)

自 v6.6.0 起,TiDB Lightning 支持将本地编码排序后的键值对在网络传输时进行压缩再发送到 TiKV,从而减少网络传输的数据量,降低网络带宽开销。之前版本不支持该功能,在数据量较大的情况下,TiDB Lightning 对网络带宽要求相对较高,且会产生较高的流量费。

Expand Down Expand Up @@ -484,7 +484,7 @@ TiDB 版本:6.6.0-[DMR](/releases/versioning.md#开发里程碑版本)
- 支持通过 `lightning.max-error` 设置最大冲突个数 [#40743](https://github.com/pingcap/tidb/issues/40743) @[dsdashun](https://github.com/dsdashun)
- 支持导入带有 BOM header 的 CSV 数据文件 [#40744](https://github.com/pingcap/tidb/issues/40744) @[dsdashun](https://github.com/dsdashun)
- 优化遇到 TiKV 限流错误时的处理逻辑,改为尝试其他空闲的 Region [#40205](https://github.com/pingcap/tidb/issues/40205) @[lance6716](https://github.com/lance6716)
- 导入时关闭对表外键的检查 [#40027](https://github.com/pingcap/tidb/issues/40027) @[gozssky](https://github.com/gozssky)
- 导入时关闭对表外键的检查 [#40027](https://github.com/pingcap/tidb/issues/40027) @[sleepymole](https://github.com/sleepymole)

+ Dumpling

Expand Down Expand Up @@ -597,7 +597,7 @@ TiDB 版本:6.6.0-[DMR](/releases/versioning.md#开发里程碑版本)
- 修复在并行导入时,当除最后一个 TiDB Lightning 实例外的其他实例都遇到本地重复记录时,TiDB Lightning 可能会错误地跳过冲突处理的问题 [#40923](https://github.com/pingcap/tidb/issues/40923) @[lichunzhu](https://github.com/lichunzhu)
- 修复 precheck 无法准确检测目标集群是否存在运行中的 TiCDC 的问题 [#41040](https://github.com/pingcap/tidb/issues/41040) @[lance6716](https://github.com/lance6716)
- 修复 TiDB Lightning 在 split-region 阶段发生 panic 的问题 [#40934](https://github.com/pingcap/tidb/issues/40934) @[lance6716](https://github.com/lance6716)
- 修复冲突处理逻辑 (`duplicate-resolution`) 可能导致 checksum 不一致的问题 [#40657](https://github.com/pingcap/tidb/issues/40657) @[gozssky](https://github.com/gozssky)
- 修复冲突处理逻辑 (`duplicate-resolution`) 可能导致 checksum 不一致的问题 [#40657](https://github.com/pingcap/tidb/issues/40657) @[sleepymole](https://github.com/sleepymole)
- 修复当数据文件中存在未闭合的 delimiter 时可能 OOM 的问题 [#40400](https://github.com/pingcap/tidb/issues/40400) @[buchuitoudegou](https://github.com/buchuitoudegou)
- 修复报错中的文件 offset 超过文件大小的问题 [#40034](https://github.com/pingcap/tidb/issues/40034) @[buchuitoudegou](https://github.com/buchuitoudegou)
- 修复新版 PD client 可能导致并行导入失败的问题 [#40493](https://github.com/pingcap/tidb/issues/40493) @[AmoebaProtozoa](https://github.com/AmoebaProtozoa)
Expand Down
1 change: 1 addition & 0 deletions sql-statements/sql-statement-alter-placement-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ AdvancedPlacementOption ::=
| "LEADER_CONSTRAINTS" EqOpt stringLit
| "FOLLOWER_CONSTRAINTS" EqOpt stringLit
| "LEARNER_CONSTRAINTS" EqOpt stringLit
| "SURVIVAL_PREFERENCES" EqOpt stringLit
```

## 示例
Expand Down
32 changes: 32 additions & 0 deletions sql-statements/sql-statement-alter-range.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: ALTER RANGE
summary: TiDB 数据库中 ALTER RANGE 的使用概况。
---

# ALTER RANGE

`ALTER RANGE` 语句目前仅用于修改 TiDB 数据库中指定范围的放置策略。

## 语法图

```ebnf+diagram
AlterRangeStmt ::=
'ALTER' 'RANGE' Identifier PlacementPolicyOption
```

目前 `ALTER RANGE` 能起作用的有 `global``meta` 两个参数:

- `global`:表示集群内全域数据的范围
- `meta`:表示 TiDB 内部存储的元信息的数据范围

## 示例

```sql
CREATE PLACEMENT POLICY `deploy111` CONSTRAINTS='{"+region=us-east-1":1, "+region=us-east-2": 1, "+region=us-west-1": 1}';
CREATE PLACEMENT POLICY `five_replicas` FOLLOWERS=4;

ALTER RANGE global PLACEMENT POLICY = "deploy111";
ALTER RANGE meta PLACEMENT POLICY = "five_replicas";
```

上述示例创建了一个名为 `deploy111``five_replicas` 的放置策略,为不同的区域指定了约束条件。然后将 `deploy111` 放置策略应用到了整个集群范围内的数据,将 `five_replicas` 放置策略应用到元数据范围内。
1 change: 1 addition & 0 deletions sql-statements/sql-statement-create-placement-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ AdvancedPlacementOption ::=
| "LEADER_CONSTRAINTS" EqOpt stringLit
| "FOLLOWER_CONSTRAINTS" EqOpt stringLit
| "LEARNER_CONSTRAINTS" EqOpt stringLit
| "SURVIVAL_PREFERENCES" EqOpt stringLit
```

## 示例
Expand Down

0 comments on commit 4bebe5e

Please sign in to comment.