# TiCDC 的限制

__*TiCDC 限制*__

+ TiCDC 只能同步至少存在一个有效索引的表
  + 主键 (PRIMARY KEY) 为有效索引
  + 同时满足下列条件的唯一索引 (UNIQUE INDEX) 为有效索引
    + 索引中每一列在表结构中明确定义非空 (NOT NULL)
    + 索引中不存在虚拟生成列 (VIRTUAL GENERATED COLUMNS)

+ TiCDC 不支持的场景有
  + 暂不支持单独使用 RawKV 的 TiKV 集群
  + 暂不支持在 TiDB 中创建 SEQUENCE 的 DDL 操作和 SEQUENCE 函数
  + 对上游存在较大事务（大小超过 5 GB）的场景提供部分支持

-------------------------------------------------------------
使用 TiCDC 进行同步的时候,请注意以下相关限制要求以及暂不支持的场景。

有效索引的相关要求
TiCDC 只能同步至少存在一个有效索引的表,有效索引的定义如下:
主键 (PRIMARY KEY) 为有效索引。
同时满足下列条件的唯一索引 (UNIQUE INDEX) 为有效索引:
索引中每一列在表结构中明确定义非空 (NOT NULL)。
索引中不存在虚拟生成列 (VIRTUAL GENERATED COLUMNS)。
TiCDC 从 4.0.8 版本开始,可通过修改任务配置来同步没有有效索引的表,但在数据一致性的保证上有所减弱。具体使用方法和注意事项参考同步没有有效索引的表。

暂不支持的场景
目前 TiCDC 暂不支持的场景如下:
暂不支持单独使用 RawKV 的 TiKV 集群。
暂不支持在 TiDB 中创建 SEQUENCE 的 DDL 操作和 SEQUENCE 函数。在上游 TiDB 使用 SEQUENCE 时,TiCDC 将会忽略掉上游执行的 SEQUENCE DDL 操作/函数,但是使用 SEQUENCE 函数的 DML 操作可以正确地同步。
对上游存在较大事务的场景提供部分支持,详见 TiCDC 是否支持同步大事务？有什么风险吗？
注意
从 v5.3.0 版本起,TiCDC 不再支持环形同步功能。