Skip to content

Commit 3735b87

Browse files
hongyunyanti-chi-bot
authored andcommitted
This is an automated cherry-pick of pingcap#20345
Signed-off-by: ti-chi-bot <[email protected]>
1 parent 1183dd5 commit 3735b87

File tree

3 files changed

+80
-0
lines changed

3 files changed

+80
-0
lines changed

TOC.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,34 @@
151151
- 数据集成场景
152152
- [与 Confluent Cloud 和 Snowflake 进行数据集成](/ticdc/integrate-confluent-using-ticdc.md)
153153
- [与 Apache Kafka 和 Apache Flink 进行数据集成](/replicate-data-to-kafka.md)
154+
<<<<<<< HEAD
155+
=======
156+
- 参考指南
157+
- [TiCDC 架构设计与原理](/ticdc/ticdc-architecture.md)
158+
- [TiCDC 数据同步能力详解](/ticdc/ticdc-data-replication-capabilities.md)
159+
- [TiCDC Server 配置参数](/ticdc/ticdc-server-config.md)
160+
- [TiCDC Changefeed 配置参数](/ticdc/ticdc-changefeed-config.md)
161+
- [TiCDC 客户端鉴权](/ticdc/ticdc-client-authentication.md)
162+
- [单行数据正确性校验](/ticdc/ticdc-integrity-check.md)
163+
- [主从集群数据校验和快照读](/ticdc/ticdc-upstream-downstream-check.md)
164+
- [拆分 UPDATE 事件行为说明](/ticdc/ticdc-split-update-behavior.md)
165+
- 输出数据协议
166+
- [TiCDC Avro Protocol](/ticdc/ticdc-avro-protocol.md)
167+
- [TiCDC Canal-JSON Protocol](/ticdc/ticdc-canal-json.md)
168+
- [TiCDC CSV Protocol](/ticdc/ticdc-csv.md)
169+
- [TiCDC Debezium Protocol](/ticdc/ticdc-debezium.md)
170+
- [TiCDC Open Protocol](/ticdc/ticdc-open-protocol.md)
171+
- [TiCDC Simple Protocol](/ticdc/ticdc-simple-protocol.md)
172+
- [TiCDC Open API v2](/ticdc/ticdc-open-api-v2.md)
173+
- [TiCDC Open API v1](/ticdc/ticdc-open-api.md)
174+
- TiCDC 数据消费
175+
- [基于 Avro 的 TiCDC 行数据 Checksum 校验](/ticdc/ticdc-avro-checksum-verification.md)
176+
- [Storage sink 消费程序编写指引](/ticdc/ticdc-storage-consumer-dev-guide.md)
177+
- [TiCDC 兼容性](/ticdc/ticdc-compatibility.md)
178+
- [故障处理](/ticdc/troubleshoot-ticdc.md)
179+
- [常见问题解答](/ticdc/ticdc-faq.md)
180+
- [术语表](/ticdc/ticdc-glossary.md)
181+
>>>>>>> 16b417f5ba (ticdc: add new doc for TiCDC data replication capabilities (#20345))
154182
- 运维操作
155183
- 安全加固
156184
- [TiDB 安全配置最佳实践](/best-practices-for-security-configuration.md)
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
title: TiCDC 数据同步能力详解
3+
summary: 了解 TiCDC 的数据同步能力。
4+
---
5+
6+
# TiCDC 数据同步能力详解
7+
8+
[TiCDC](/ticdc/ticdc-overview.md) (TiDB Change Data Capture) 是 TiDB 生态中用于​​实时数据同步​​的核心组件。本文详细解释 TiCDC 的数据同步能力。
9+
10+
## 工作原理​
11+
12+
- TiCDC 监听 TiKV 的变更日志 (Raft Log),将行数据的增删改操作转换为下游兼容的 SQL 语句,并不基于上游的 SQL 获取数据变更。详情请参考 [TiCDC 处理数据变更的实现原理](/ticdc/ticdc-overview.md#ticdc-处理数据变更的实现原理)
13+
14+
- TiCDC 生成与 SQL 语义等效的逻辑操作(如 `INSERT``UPDATE``DELETE`),而非逐条还原上游执行的原始 SQL 语句。详情请参考 [TiCDC 处理数据变更的实现原理](/ticdc/ticdc-overview.md#ticdc-处理数据变更的实现原理)
15+
16+
- TiCDC 提供事务最终一致性的保证。开启 [redo log](/ticdc/ticdc-sink-to-mysql.md#灾难场景的最终一致性复制) 后,TiCDC 可以保证容灾场景下的最终一致性;开启 [Syncpoint](/ticdc/ticdc-upstream-downstream-check.md#启用-syncpoint) 后,TiCDC 提供一致性快照读和数据一致性校验。
17+
18+
## 支持的下游
19+
20+
TiCDC 支持同步数据到多类下游,包括:
21+
22+
- [TiDB 及兼容 MySQL 协议的数据库](/ticdc/ticdc-sink-to-mysql.md)
23+
- [Apache Kafka](/ticdc/ticdc-sink-to-kafka.md)
24+
- [Message Queue (MQ) 类的下游](/ticdc/ticdc-changefeed-config.md#sink),如 [Pulsar](/ticdc/ticdc-sink-to-pulsar.md)
25+
- [存储服务(Amazon S3、GCS、Azure Blob Storage 和 NFS)](/ticdc/ticdc-sink-to-cloud-storage.md)
26+
- [通过 Confluent Cloud 同步至 Snowflake、ksqlDB、SQL Server](/ticdc/integrate-confluent-using-ticdc.md)
27+
- [使用 Apache Flink 消费同步至 Kafka 的数据](/replicate-data-to-kafka.md)
28+
29+
## 数据同步范围
30+
31+
TiCDC 对上游数据变更的支持范围如下:
32+
33+
+ 支持:
34+
35+
- DDL 和 DML 语句(非系统表)。
36+
- 索引操作 (`ADD INDEX`, `CREATE INDEX`):为了减少对 Changefeed 同步延迟的影响,当下游为 TiDB 时,TiCDC 会[异步执行创建和添加索引的 DDL 操作](/ticdc/ticdc-ddl.md#创建和添加索引-ddl-的异步执行)
37+
- 外键约束 DDL 语句 (`ADD FOREIGN KEY`):TiCDC 不会同步上游系统变量的设置,需要在下游手动设置 [`foreign_key_checks`](/system-variables.md#foreign_key_checks) 来决定是否开启下游的外键约束检查。TiCDC 不会检查数据是否满足下游的外键约束。
38+
39+
+ 不支持:
40+
41+
- 系统表(如 `mysql.*``information_schema.*`)的 DDL 和 DML 语句。
42+
- 临时表的 DDL 和 DML 语句。
43+
- DQL (Data Query Language) 语句 和 DCL (Data Control Language) 语句。
44+
45+
## 使用限制
46+
47+
- TiCDC 对一些场景暂不支持,详见[暂不支持的场景](/ticdc/ticdc-overview.md#暂不支持的场景)
48+
- TiCDC 只检查上游数据变更的完整性,不检查数据变更是否符合上游或下游的约束。如果遇到不满足下游约束的数据变更,TiCDC 会在写入下游时报错。例如,TiCDC 不会进行任何外键约束的检查。

ticdc/ticdc-overview.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ summary: TiCDC 是一款 TiDB 增量数据同步工具,适用于多 TiDB 集
55

66
# TiCDC 简介
77

8+
<<<<<<< HEAD
89
[TiCDC](https://github.com/pingcap/tiflow/tree/release-8.1/cdc) 是一款 TiDB 增量数据同步工具,通过拉取上游 TiKV 的数据变更日志,TiCDC 可以将数据解析为有序的行级变更数据输出到下游。
10+
=======
11+
[TiCDC](https://github.com/pingcap/tiflow/tree/master/cdc) 是一款 TiDB 增量数据同步工具,通过拉取上游 TiKV 的数据变更日志,TiCDC 可以将数据解析为有序的行级变更数据输出到下游。关于具体的数据同步能力,参见 [TiCDC 数据同步能力详解](/ticdc/ticdc-data-replication-capabilities.md)
12+
>>>>>>> 16b417f5ba (ticdc: add new doc for TiCDC data replication capabilities (#20345))
913
1014
## TiCDC 适用场景
1115

0 commit comments

Comments
 (0)