Skip to content
12 changes: 11 additions & 1 deletion ticdc/ticdc-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,17 @@ TiCDC 新架构通过将整体架构拆分成有状态和无状态的两部分

> **注意:**
>
> 针对 MySQL Sink 的 Changefeed,除了满足上述任一条件,表还需要满足**有且仅有一个主键或非空唯一键**,才可以被 TiCDC 拆分并分发,以保证拆表模式下数据同步的正确性。
> 针对 MySQL Sink 的 Changefeed,除了满足上述任一条件,表还需要满足**有且仅有一个主键或非空唯一键**,才可以被 TiCDC 拆分并分发,以保证表级任务拆分模式下数据同步的正确性。

### 表级任务拆分配置建议

切换至 TiCDC 新架构后,不建议继续使用老架构中的拆表相关配置。在绝大多数场景下,建议先采用新架构的默认配置。仅在存在同步性能瓶颈或调度不均的特殊场景下,再基于默认值进行小幅调整。

在拆表模式下,建议重点关注以下配置项:

- [`scheduler.region-threshold`](/ticdc/ticdc-changefeed-config.md#region-threshold):默认值为 `10000`。当表的 Region 数量超过该阈值时,TiCDC 会对该表执行拆分。对于 Region 数量较少但表整体写入流量较高的场景,可以适当降低该值。该参数必须大于或等于 `scheduler.region-count-per-span`,否则可能导致任务频繁调度,并增加同步延迟。
- [`scheduler.region-count-per-span`](/ticdc/ticdc-changefeed-config.md#region-count-per-span-从-v854-版本开始引入):默认值为 `100`。在 Changefeed 初始化阶段,满足拆分条件的表会按照该参数进行拆分。拆分后,每个子表最多包含 `region-count-per-span` 个 Region。
- [`scheduler.write-key-threshold`](/ticdc/ticdc-changefeed-config.md#write-key-threshold):默认值为 `0`(表示关闭)。当表的 Sink 写入流量超过该阈值时,TiCDC 会触发拆分。建议保持默认值 `0`。

## 兼容性说明

Expand Down
5 changes: 5 additions & 0 deletions ticdc/ticdc-changefeed-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,11 @@ Info: {"upstream_id":7178706266519722477,"namespace":"default","id":"simple-repl
- 默认为 `false`。设置为 `true` 以打开该功能。
- 默认值:`false`

#### `region-count-per-span` <span class="version-mark">从 v8.5.4 版本开始引入</span>

- 在 [TiCDC 新架构](/ticdc/ticdc-architecture.md)中引入。在 Changefeed 初始化阶段,满足拆分条件的表会按照该参数进行拆分。拆分后,每个子表最多包含 `region-count-per-span` 个 Region。
- 默认值:`100`。

#### `region-threshold`

- 默认值:对于 [TiCDC 新架构](/ticdc/ticdc-architecture.md),默认值为 `10000`;对于 [TiCDC 老架构](/ticdc/ticdc-classic-architecture.md),默认值为 `100000`。
Expand Down