基于时间戳的CDC和基于快照的CDC都能做增量抽取,但我发现时间戳CDC检测不到删除操作,快照CDC虽然能检测但性能差。生产环境到底该怎么选?
25 个赞
两种方案各有优劣。基于时间戳的CDC需要在源表中有时间戳字段(插入时间戳和更新时间戳),通过抽取两次时间戳之间的增量数据来实现同步,但它无法检测到源系统中被删除的数据。基于快照的CDC通过一次性抽取源系统中全部数据,与上一次的版本进行比较,通过"合并记录"组件来识别差异——可以检测到插入、更新和删除的数据,这是它相对于时间戳CDC的优势。但缺点是需要大量存储空间来保存这些快照,在表比较大时也会有较严重的性能问题。因此,如果业务上不需要追踪删除操作,且源表有时间戳字段,优先使用时间戳CDC;如果必须追踪删除,则使用快照CDC,但要注意表大小和存储空间的问题。
1 个赞