开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC中mysql cdc 零点刚过时,大量同步数据,出现部分更新数据丢失的情况怎么办?

Flink CDC中mysql cdc 零点刚过时,大量同步数据,出现部分更新数据丢失的情况吗,具体现象就是30秒左右,同一个数据出现了2次以上的变更,但是下游只更新了一部分,或者干脆没更新。cdc 版本2.2.1,写到doris。变更的字段是非主键字段。

展开
收起
十一0204 2023-07-26 08:04:14 225 0
2 条回答
写回答
取消 提交回答
  • 在 Flink CDC 中,特定情况下可能会出现部分更新数据丢失的情况。这可能与以下因素有关:

    1. 数据库事务和切换:在零点过后,MySQL CDC 可能正在处理由于上一个事务的持久性问题而留下的变更数据。这可能导致一些变更数据在同步到下游系统之前被延迟处理。

    2. 并发写入操作:如果在零点过后有大量的并发写入操作,可能会导致同步延迟或部分数据丢失的情况。这是因为 Flink CDC 需要在读取 Binlog 的同时进行解析和发送,较高的写入并发度可能会造成资源竞争和延迟。

    3. 数据库配置和性能:检查 MySQL 数据库本身的配置和性能是否足够支撑高并发的写入和 CDC 同步操作。例如,确保数据库连接池大小、内存配置和网络带宽等都满足要求。

    4. CDC 配置:确保您的 CDC 配置正确,包括正确选择了需要捕获的表和字段,并根据实际需求设置了合适的并发度。

    对于非主键字段的更新,确保相应的字段在 CDC 配置中正确地被捕获和处理,并且相关的数据写入操作被正确地触发。

    2023-07-31 23:15:54
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    在 Flink CDC 中,如果在零点刚过时,出现大量同步数据和部分更新数据丢失的情况,可能是由于以下原因:
    数据库锁定:在零点刚过时,如果数据库进行了全量备份或其他操作,可能会导致数据库锁定,从而导致部分数据更新失败。建议在零点刚过时,避免进行全量备份等操作,或者调整备份时间,避免与数据同步冲突。
    Flink CDC 配置问题:如果 Flink CDC 的配置不正确,可能会导致数据同步失败。例如,如果并发度设置过低,可能会导致数据同步速度过慢,从而导致部分数据更新失败。建议检查 Flink CDC 的配置,包括并发度、缓冲区大小等参数,以确保其能够适应实际的数据同步需求。
    数据库性能问题:如果数据库性能不足,可能会导致数据同步速度过慢,从而导致部分数据更新失败。建议优化数据库性能,例如增加数据库缓存大小、优化数据库索引等。

    2023-07-29 16:38:36
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    搭建电商项目架构连接MySQL 立即下载
    搭建4层电商项目架构,实战连接MySQL 立即下载
    PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

    相关镜像