diff --git a/ticdc/ticdc-architecture.md b/ticdc/ticdc-architecture.md index 25c23e0e9480c..38a3326f24efc 100644 --- a/ticdc/ticdc-architecture.md +++ b/ticdc/ticdc-architecture.md @@ -55,13 +55,17 @@ If your workload meets any of the following conditions, it is recommended to swi ## New features -The new architecture supports **table-level task splitting** for MySQL sinks. You can enable this feature by setting `scheduler.enable-table-across-nodes = true` in the changefeed configuration. +The new architecture supports **table-level task splitting** for all sinks. You can enable this feature by setting `scheduler.enable-table-across-nodes = true` in the changefeed configuration. -When this feature is enabled, TiCDC automatically splits and distributes tables with **only one primary key or non-null unique key** across multiple nodes for parallel replication if those tables meet any of the following conditions. This improves replication efficiency and resource utilization: +When this feature is enabled, TiCDC automatically splits and distributes tables across multiple nodes for parallel replication if those tables meet any of the following conditions. This improves replication efficiency and resource utilization: -- The table Region count exceeds the configured threshold (`100000` by default, adjustable via `scheduler.region-threshold`). +- The table Region count exceeds the configured threshold (`10000` by default, adjustable via `scheduler.region-threshold`). - The table write traffic exceeds the configured threshold (disabled by default, configurable via `scheduler.write-key-threshold`). +> **Note:** +> +> For MySQL sink changefeeds, only tables that meet one of the preceding conditions and have **exactly one primary key or non-null unique key** can be split and distributed by TiCDC, to ensure the correctness of data replication in table split mode. + ## Compatibility ### DDL progress tracking table diff --git a/ticdc/ticdc-changefeed-config.md b/ticdc/ticdc-changefeed-config.md index 1660059c96d94..32bed5fd6152e 100644 --- a/ticdc/ticdc-changefeed-config.md +++ b/ticdc/ticdc-changefeed-config.md @@ -151,10 +151,11 @@ For more information, see [Event filter rules](/ticdc/ticdc-filter.md#event-filt #### `enable-table-across-nodes` - Allocate tables to multiple TiCDC nodes for replication on a per-Region basis. -- This configuration item only takes effect on Kafka changefeeds and is not supported on MySQL changefeeds. +- In the [TiCDC classic architecture](/ticdc/ticdc-classic-architecture.md), this configuration item only takes effect on Kafka changefeeds and is not supported on MySQL changefeeds. +- In the [TiCDC new architecture](/ticdc/ticdc-architecture.md), this configuration item works on all types of downstream changefeeds. For more information, see [New features](/ticdc/ticdc-architecture.md#new-features). - When `enable-table-across-nodes` is enabled, there are two allocation modes: - 1. Allocate tables based on the number of Regions, so that each TiCDC node handles roughly the same number of Regions. If the number of Regions for a table exceeds the value of [`region-threshold`](#region-threshold), the table will be allocated to multiple nodes for replication. The default value of `region-threshold` is `100000`. + 1. Allocate tables based on the number of Regions, so that each TiCDC node handles roughly the same number of Regions. If the number of Regions for a table exceeds the value of [`region-threshold`](#region-threshold), the table will be allocated to multiple nodes for replication. 2. Allocate tables based on the write traffic, so that each TiCDC node handles roughly the same number of modified rows. Only when the number of modified rows per minute in a table exceeds the value of [`write-key-threshold`](#write-key-threshold), will this allocation take effect. You only need to configure one of the two modes. If both `region-threshold` and `write-key-threshold` are configured, TiCDC prioritizes the traffic allocation mode, namely `write-key-threshold`. @@ -164,7 +165,7 @@ For more information, see [Event filter rules](/ticdc/ticdc-filter.md#event-filt #### `region-threshold` -- Default value: `100000` +- Default value: for the [TiCDC new architecture](/ticdc/ticdc-architecture.md), the default value is `10000`; for the [TiCDC classic architecture](/ticdc/ticdc-classic-architecture.md), the default value is `100000`. #### `write-key-threshold` @@ -614,4 +615,4 @@ The following parameters take effect only when the downstream is Pulsar. #### `output-raw-change-event` - Controls whether to output the original data change event. For more information, see [Control whether to split primary or unique key `UPDATE` events](/ticdc/ticdc-split-update-behavior.md#control-whether-to-split-primary-or-unique-key-update-events). -- Default value: `false` \ No newline at end of file +- Default value: `false` diff --git a/ticdc/ticdc-sink-to-kafka.md b/ticdc/ticdc-sink-to-kafka.md index 81d5f38683786..c77a84d243f44 100644 --- a/ticdc/ticdc-sink-to-kafka.md +++ b/ticdc/ticdc-sink-to-kafka.md @@ -367,8 +367,9 @@ Sample configuration: [scheduler] # The default value is "false". You can set it to "true" to enable this feature. enable-table-across-nodes = true -# When you enable this feature, it only takes effect for tables with the number of regions greater than the `region-threshold` value. -region-threshold = 100000 +# When you enable this feature, it only takes effect for tables with the number of regions greater than the `region-threshold` value. For the TiCDC new architecture, the default value is `10000`; for the TiCDC classic architecture, the default value is `100000`. + +region-threshold = 10000 # When you enable this feature, it takes effect for tables with the number of rows modified per minute greater than the `write-key-threshold` value. # Note: # * The default value of `write-key-threshold` is 0, which means that the feature does not split the table replication range according to the number of rows modified in a table by default.