我正在使用 TapData 或其他数据同步工具将 OceanBase 的数据实时同步到另一个数仓。在同步过程中,我想了解 OceanBase 的增量同步(CDC)通常会有多大的延迟?官方文档提到实测延迟在 1-3 秒,但在实际生产环境中,如果遇到网络波动或者源端有大事务,如何确保同步链路的数据一致性和最终时效性?有什么监控或自愈机制吗?
2 个赞
原来如此
1 个赞
先在测试环境试一下啊,这个看数据量吧
在实际生产环境中使用 OceanBase 的增量同步(CDC)时,通常情况下延迟会在 1-3 秒。然而,如果遇到网络波动或源端有大事务,确保同步链路的数据一致性和最终时效性是十分重要的。以下是一些保证措施:
- 监控延迟:您可以在增量同步页面查看增量同步的状态、延迟时间和当前位点时间等信息,了解任务的运行状态。例如延迟指的是源端增量变更被同步至目标端的滞后时间,单位为秒。如果增量同步延时大于配置的告警时间,增量同步步骤会始终处于运行中,系统不会触发告警信息;但如果延时小于等于配置的告警时间,增量同步步骤的状态会由运行中切换为监控中,且不会再切换回运行中状态。
- 告警设置:建议设置告警级别和告警频率等信息,以便随时掌握任务运行状态。对于增量同步延时大于配置的告警时间的情况,系统不会触发告警,因此需合理配置告警时间。
- 处理延迟:对于存在 Store 同步任务的情况,需要查看 Store 日志(可以通过查看组件监控中 Store 的最近拉取时间判断 Store 是否延迟)。对于 Full-Import/Incr-Sync 日志,也需要进行检查。
- 资源调整:如果存在大事务场景,启动 Incr-Sync 需要根据情况扩大资源。建议在资源类型/组件方面进行合理配置,如 Store、Incr-Sync 和 Full-Import 的 CPU、Memory 和 Disk 资源。
- 任务配置:在创建数据同步任务时,建议一次性同步的表数量不超过 1000 张,避免影响数据同步任务的运行。当任务意外中断进行断点续传时,下游系统需要具备排重能力。
- 网络稳定性:保持节点之间的时钟同步,否则可能导致增量同步的延迟时间不准确。
详情请参考: