接着 @h5n1 的回答,
这个start_ts不能超过gc_safe_point
TiKV 没有传统意义上的 “binlog”,TiCDC 是通过读取 TiKV 中保存的数据的历史版本来获取历史数据的。
当 start ts 早于 gc_safe_point 时,TiCDC 无法读到早于 gc_safe_point 的版本,这会导致同步任务创建失败。
如果 start ts 很早,可能会导致
- TiCDC 在读取大量历史版本时,可能提高 TiKV 节点的 IO 压力,间接影响业务。
- TiCDC 读取历史版本后,它会将数据缓存在本地磁盘上,如果数据量大于 TiCDC 磁盘容量,会导致同步中断。