File tree 3 files changed +50
-1
lines changed 3 files changed +50
-1
lines changed Original file line number Diff line number Diff line change 188
188
- [ 与 Apache Kafka 和 Apache Flink 进行数据集成] ( /replicate-data-to-kafka.md )
189
189
- 参考指南
190
190
- [ TiCDC 架构设计与原理] ( /ticdc/ticdc-architecture.md )
191
+ - [ TiCDC 数据同步能力详解] ( /ticdc/ticdc-data-replication-capabilities.md )
191
192
- [ TiCDC Server 配置参数] ( /ticdc/ticdc-server-config.md )
192
193
- [ TiCDC Changefeed 配置参数] ( /ticdc/ticdc-changefeed-config.md )
193
194
- [ TiCDC 客户端鉴权] ( /ticdc/ticdc-client-authentication.md )
Original file line number Diff line number Diff line change
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 不会进行任何外键约束的检查。
Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ summary: TiCDC 是一款 TiDB 增量数据同步工具,适用于多 TiDB 集
5
5
6
6
# TiCDC 简介
7
7
8
- [ TiCDC] ( https://github.com/pingcap/tiflow/tree/release-8.5/cdc ) 是一款 TiDB 增量数据同步工具,通过拉取上游 TiKV 的数据变更日志,TiCDC 可以将数据解析为有序的行级变更数据输出到下游。
8
+ [ TiCDC] ( https://github.com/pingcap/tiflow/tree/release-8.5/cdc ) 是一款 TiDB 增量数据同步工具,通过拉取上游 TiKV 的数据变更日志,TiCDC 可以将数据解析为有序的行级变更数据输出到下游。关于具体的数据同步能力,参见 [ TiCDC 数据同步能力详解 ] ( /ticdc/ticdc-data-replication-capabilities.md ) 。
9
9
10
10
## TiCDC 适用场景
11
11
You can’t perform that action at this time.
0 commit comments