You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The monitoring dashboard **TiCDC-New-Arch** for [TiCDC New Architecture](/ticdc/ticdc-architecture.md) is not yet integrated into TiUP. To view the relevant monitoring information on Grafana, you need to manually import the TiCDC monitoring metrics file:
18
+
The monitoring dashboard **TiCDC-New-Arch** for [TiCDC New Architecture](/ticdc/ticdc-architecture.md) is not managed by TiUP yet. To view the related monitoring data on Grafana, you need to manually import the TiCDC monitoring metrics file:
19
19
20
20
1. Download the monitoring metrics file for TiCDC in the new architecture:
The monitoring dashboard for TiCDC new architecture mainly includes the following sections:
31
31
32
-
- [**Summary**](#summary):The summary information of the TiCDC cluster
33
-
- [**Server**](#server):The summary information of TiKV nodes and TiCDC nodes in the TiDB cluster
34
-
- [**Log Puller**](#log-puller):The detailed information of the TiCDC Log Puller module
35
-
- [**Event Store**](#event-store):The detailed information of the TiCDC Event Store module
36
-
- [**Sink**](#sink):The detailed information of the TiCDC Sink module
32
+
- [**Summary**](#summary): The summary information of the TiCDC cluster
33
+
- [**Server**](#server): The summary information of TiKV nodes and TiCDC nodes in the TiDB cluster
34
+
- [**Log Puller**](#log-puller): The detailed information of the TiCDC Log Puller module
35
+
- [**Event Store**](#event-store): The detailed information of the TiCDC Event Store module
36
+
- [**Sink**](#sink): The detailed information of the TiCDC Sink module
37
37
38
38
### Summary
39
39
@@ -62,12 +62,12 @@ The following is an example of the **Server** panel:
62
62
The description of each metric in the **Server** panel is as follows:
63
63
64
64
- Uptime: The timefor which TiKV nodes and TiCDC nodes have been running
65
-
- Goroutine Count: The number of Goroutines in TiCDC nodes
65
+
- Goroutine Count: The number of Goroutines on TiCDC nodes
66
66
- Open FD Count: The number of file handles opened by TiCDC nodes
67
67
- CPU Usage: The CPU usage of TiCDC nodes
68
68
- Memory Usage: The memory usage of TiCDC nodes
69
-
- Ownership History: The historical record of Owner nodes in the TiCDC cluster
70
-
- PD Leader History: The historical record of PD Leader nodes in the upstream TiDB cluster
69
+
- Ownership History: The historical records of Owner nodes in the TiCDC cluster
70
+
- PD Leader History: The historical records of PD Leader nodes in the upstream TiDB cluster
71
71
72
72
### Log Puller
73
73
@@ -99,11 +99,11 @@ The description of each metric in the **Event Store** panel is as follows:
99
99
- Input Event Count/s: The number of events that Event Store processes per second
100
100
- Input Bytes/s: The amount of data that Event Store processes per second
101
101
- Write Requests/s: The number of write requests that Event Store executes per second
102
-
- Write Worker Busy Ratio: The ratio of IOtime to total runtime for Event Store write threads
102
+
- Write Worker Busy Ratio: The ratio of I/Otime to total runtime for Event Store write threads
103
103
- Compressed Rows/s: The number of rows compressed per second in Event Store (triggered only when row size exceeds the threshold)
104
104
- Write Duration: The time consumed by Event Store write operations
105
105
- Write Batch Size: The batch size of a single write operation
106
-
- Write Batch Event Count: The number of rows included in a single write batch
106
+
- Write Batch Event Count: The number of row change events included in a single write batch
107
107
- Data Size On Disk: The total data size that Event Store occupies on disk
108
108
- Data Size In Memory: The total data size that Event Store occupies in memory
109
109
- Scan Requests/s: The number of scan requests that Event Store executes per second
@@ -118,9 +118,9 @@ The following is an example of the **Sink** panel:
118
118
The description of each metric in the **Sink** panel is as follows:
119
119
120
120
- Output Row Batch Count: The average number of rows per DML batch written by the Sink module
121
-
- Output Row Count(per second): The number of DML rows written to downstream per second
121
+
- Output Row Count(per second): The number of DML rows written to downstream per second
122
122
- Output DDL Executing Duration: The time consumed by executing DDL events for the changefeed on the current node
123
-
- Sink Error Count / m: The number of error messages reported per minute by the Sink module
123
+
- Sink Error Count / m: The number of errors reported per minute by the Sink module
124
124
- Output DDL Count / Minutes: The number of DDLs executed per minute for the changefeed on the current node
125
125
126
126
## Metrics for TiCDC in the classic architecture
@@ -182,7 +182,7 @@ The following is an example of the **Changefeed** panel:
182
182
183
183
- Changefeed catch-up ETA: The estimated time needed for the replication task to catch up with the upstream cluster data. When the upstream write speed is faster than the TiCDC replication speed, the metric might be extremely large. Because TiCDC replication speed is subject to many factors, this metric is for reference only and might not be the actual replication time.
184
184
185
-
## Events
185
+
### Events
186
186
187
187
The following is an example of the **Events** panel:
Copy file name to clipboardExpand all lines: markdown-pages/en/tidb/master/ticdc/ticdc-architecture.md
+11-12Lines changed: 11 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,27 +5,27 @@ summary: Introduces the features, architectural design, deployment guide, and no
5
5
6
6
# TiCDC New Architecture
7
7
8
-
Starting from TiCDC v8.5.4-release.1, TiCDC introduces a new architecture that improves the performance, scalability, and stability of real-time data replication while reducing resource costs. This new architecture redesigns TiCDC core components and optimizes its data processing workflows, offering the following advantages:
8
+
Starting from [TiCDC v8.5.4-release.1](https://github.com/pingcap/ticdc/releases/tag/v8.5.4-release.1), TiCDC introduces a new architecture that improves the performance, scalability, and stability of real-time data replication while reducing resource costs. This new architecture redesigns TiCDC core components and optimizes its data processing workflows, offering the following advantages:
9
9
10
10
-**Higher single-node performance**: a single node can replicate up to 500,000 tables, achieving replication throughput of up to 190 MiB/s on a single node in wide table scenarios.
11
11
-**Enhanced scalability**: cluster replication capability scales almost linearly. A single cluster can expand to over 100 nodes, support more than 10,000 changefeeds, and replicate millions of tables within a single changefeed.
12
12
-**Improved stability**: changefeed latency is reduced and performance is more stable in scenarios with high traffic, frequent DDL operations, and cluster scaling events. Resource isolation and priority scheduling reduce interference between multiple changefeed tasks.
13
-
-**Lower resource costs**: with improved resource utilization and reduced redundancy, CPU and memory resource usage is reduced by up to 50% in typical scenarios.
13
+
-**Lower resource costs**: with improved resource utilization and reduced redundancy, CPU and memory resource usage can decrease by up to 50% in typical scenarios.
14
14
15
15
## Architectural design
16
16
17
17

18
18
19
19
The TiCDC new architecture consists of two core components: Log Service and Downstream Adapter.
20
20
21
-
- Log Service: as the core data service layer, Log Service fetches information such as row changes and DDL events from the upstream TiDB cluster, and then temporarily stores the change data on local disk. It also responds to data requests from the Downstream Adapter, periodically merging and sorting DML and DDL data and pushing the sorted data to the Downstream Adapter.
21
+
- Log Service: as the core data service layer, Log Service fetches information such as row changes and DDL events from the upstream TiDB cluster, and then temporarily stores the change data on local disks. It also responds to data requests from the Downstream Adapter, periodically merging and sorting DML and DDL data and pushing the sorted data to the Downstream Adapter.
22
22
- Downstream Adapter: as the downstream data replication adaptation layer, Downstream Adapter handles user-initiated changefeed operations. It schedules and generates related replication tasks, fetches data from the Log Service, and replicates the fetched data to downstream systems.
23
23
24
24
By separating the architecture into stateful and stateless components, the TiCDC new architecture significantly improves system scalability, reliability, and flexibility. Log Service, as the stateful component, focuses on data acquisition, sorting, and storage. Decoupling it from changefeed processing logic enables data sharing across multiple changefeeds, effectively improving resource utilization and reducing system overhead. Downstream Adapter, as the stateless component, uses a lightweight scheduling mechanism that allows quick migration of replication tasks between instances. It can dynamically adjust the splitting and merging of replication tasks based on workload changes, ensuring low-latency replication in various scenarios.
25
25
26
26
## Comparison between the classic and new architectures
27
27
28
-
The new architecture is designed to address common issues during continuous system scaling, such as performance bottlenecks, insufficient stability, and limited scalability. Compared with the classic architecture, the new architecture achieves significant optimizations in the following key dimensions:
28
+
The new architecture is designed to address common issues during continuous system scaling, such as performance bottlenecks, insufficient stability, and limited scalability. Compared with the [classic architecture](/ticdc/ticdc-classic-architecture.md), the new architecture achieves significant optimizations in the following key dimensions:
@@ -46,8 +46,9 @@ The new architecture is designed to address common issues during continuous syst
46
46
If your workload meets any of the following conditions, it is recommended to switch from the [classic TiCDC architecture](/ticdc/ticdc-classic-architecture.md) to the new architecture for better performance and stability:
47
47
48
48
- Bottlenecks in incremental scan performance: incremental scan tasks take an excessively long time to complete, leading to continuously increasing replication latency.
49
+
- Ultra-high traffic scenarios: the total changefeed traffic exceeds 700 MiB/s.
49
50
- Single tables with high-throughput writes in MySQL sink: the target table has **only one primary key or non-null unique key**.
50
-
- Large-scale table replication: the number of tables to be replicated exceeds 100,000.
51
+
- Large-scale table replication: the number of tables to be replicated exceeds 100,000.
@@ -61,12 +62,6 @@ When this feature is enabled, TiCDC automatically splits and distributes tables
61
62
62
63
## Compatibility
63
64
64
-
### Handling of server-level errors
65
-
66
-
In the classic TiCDC architecture, when a server-level error (such as `ErrEtcdSessionDone`) occurs, TiCDC automatically restarts the main thread without exiting the process.
67
-
68
-
In the new architecture, when a server-level error occurs, the TiCDC process exits directly and relies on orchestration tools such as TiUP or TiDB Operator to automatically restart the TiCDC instance.
69
-
70
65
### DDL progress tracking table
71
66
72
67
In the TiCDC classic architecture, DDL replication operations are strictly serial, thus the replication progress can be tracked only using the changefeed's `CheckpointTs`. In the new architecture, however, TiCDC replicates DDL changes for different tables in parallel whenever possible to improve DDL replication efficiency. To accurately record the DDL replication progress of each table in a downstream MySQL-compatible database, the TiCDC new architecture creates a table named `tidb_cdc.ddl_ts_v1` in the downstream database, specifically storing the DDL replication progress information of the changefeed.
@@ -114,6 +109,8 @@ You can deploy the TiCDC new architecture using TiUP or TiDB Operator.
114
109
<SimpleTab>
115
110
<div label="TiUP">
116
111
112
+
To deploy the TiCDC new architecture using TiUP, take the following steps:
113
+
117
114
1. If your TiDB cluster does not have TiCDC nodes yet, refer to [Scale out a TiCDC cluster](/scale-tidb-using-tiup.md#scale-out-a-ticdc-cluster) to add new TiCDC nodes in the cluster. Otherwise, skip this step.
118
115
119
116
2. Download the TiCDC binary package for the new architecture.
@@ -161,6 +158,8 @@ You can deploy the TiCDC new architecture using TiUP or TiDB Operator.
161
158
</div>
162
159
<div label="TiDB Operator">
163
160
161
+
To deploy the TiCDC new architecture using TiDB Operator, take the following steps:
162
+
164
163
- If your TiDB cluster does not include a TiCDC component, refer to [Add TiCDC to an existing TiDB cluster](https://docs.pingcap.com/tidb-in-kubernetes/stable/deploy-ticdc/#add-ticdc-to-an-existing-tidb-cluster) to add new TiCDC nodes. When doing so, specify the TiCDC image version as the new architecture version in the cluster configuration file.
165
164
166
165
For example:
@@ -240,6 +239,6 @@ For more command usage methods and details, see [Manage Changefeeds](/ticdc/ticd
240
239
241
240
## Monitoring
242
241
243
-
Currently, the monitoring dashboard **TiCDC-New-Arch** for the TiCDC new architecture is not managed by TiUP yet. To view this dashboard in Grafana, you need to manually import the [TiCDC monitoring metrics file](https://github.com/pingcap/ticdc/blob/master/metrics/grafana/ticdc_new_arch.json).
242
+
Currently, the monitoring dashboard **TiCDC-New-Arch** for the TiCDC new architecture is not managed by TiUP yet. To view this dashboard on Grafana, you need to manually import the [TiCDC monitoring metrics file](https://github.com/pingcap/ticdc/blob/master/metrics/grafana/ticdc_new_arch.json).
244
243
245
244
For detailed descriptions of each monitoring metric, see [Metrics for TiCDC in the new architecture](/ticdc/monitor-ticdc.md#metrics-for-ticdc-in-the-new-architecture).
Copy file name to clipboardExpand all lines: markdown-pages/en/tidb/master/ticdc/ticdc-classic-architecture.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ This document describes the classic architecture and working principles of TiCDC
10
10
> **Note:**
11
11
>
12
12
> - This document applies to TiCDC versions earlier than v8.5.4-release.1.
13
-
> - Starting from v8.5.4-release.1, TiCDC introduces a new architecture that improves real-time data replication performance, scalability, and stability while reducing resource costs. For more information, see [TiCDC New Architecture](/ticdc/ticdc-classic-architecture.md).
13
+
> - Starting from v8.5.4-release.1, TiCDC introduces a new architecture that improves real-time data replication performance, scalability, and stability while reducing resource costs. For more information, see [TiCDC New Architecture](/ticdc/ticdc-architecture.md).
Copy file name to clipboardExpand all lines: markdown-pages/en/tidb/master/ticdc/ticdc-server-config.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,11 +30,11 @@ The following are descriptions of options available in a `cdc server` command:
30
30
31
31
The following describes the configuration file specified by the `config` option in the `cdc server` command. You can find the default configuration file in [`pkg/cmd/util/ticdc.toml`](https://github.com/pingcap/tiflow/blob/master/pkg/cmd/util/ticdc.toml).
32
32
33
-
### `newarch` <spanclass="version-mark">New in v9.0.0</span>
33
+
### `newarch` <spanclass="version-mark">New in v8.5.4-release.1</span>
34
34
35
-
- Controls whether to enable the [TiCDC new architecture](/ticdc/ticdc-new-arch.md).
35
+
- Controls whether to enable the [TiCDC new architecture](/ticdc/ticdc-architecture.md).
36
+
- Default value: `false`, indicating that the [TiCDC classic architecture](/ticdc/ticdc-classic-architecture.md) is used.
36
37
- When it is set to `true`, the TiCDC new architecture is enabled.
37
-
- By default, `newarch` is not specified, indicating that the classic architecture is used. `newarch` applies only to the new architecture. If `newarch` is added to the configuration file of the TiCDC classic architecture, it might cause parsing failures.
38
38
39
39
<!-- The configuration method of the following parameters is the same as that of CLI parameters, but the CLI parameters have higher priorities. -->
0 commit comments