博客
关于我
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_更新时如果目标表中不存在记录就改为插入数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0059
阅读量:791 次
发布时间:2023-02-16

本文共 732 字,大约阅读时间需要 2 分钟。

流程说明

最近在项目中,我们对数据库的增量同步机制进行了优化,现将主要流程内容记录如下:

一、流程概述

目前的数据同步流程主要针对一张关系型数据库表进行设计,支持自动监控数据库变化并进行增量同步。该流程能够处理以下场景:

  • 数据中存在空值
  • 数据类型包含日期类型
  • 插入操作时,目标表中已存在对应主键记录
  • 更新操作时,目标表中不存在需要更新的记录
  • 二、主要处理逻辑

  • 数据变化监控流程首先建立了对数据库表的实时监控机制,通过触发器或其他监控工具实现对数据变更的实时捕捉。监控触发条件包括:
    • 数据插入操作
    • 数据更新操作
    • 数据删除操作
    1. 数据同步规则在数据同步过程中,系统会根据以下规则进行处理:
      • 插入规则:在插入操作时,如果目标表中已存在与插入数据主键相同的记录,则将原有记录标记为已存在,执行更新操作。
      • 更新规则:在更新操作时,如果目标表中未找到需要更新的记录,则将该操作转换为插入操作进行处理。

      三、核心处理细节

    2. 主键属性处理在处理主键相关操作时,系统严格遵循以下原则:
      • 主键字段必须唯一
      • 主键字段不允许为空
      • 主键字段类型必须一致
      1. SQL语句拼接核心逻辑的实现主要通过动态生成SQL语句来完成。具体流程如下:
      2. 确定数据类型
      3. 构建字段值列表
      4. 生成插入/更新语句
      5. 执行数据库操作
      6. 四、测试验证目前所优化的流程部分已完成初步测试,并通过了相关验证测试。主要测试内容包括:

      7. 空值处理测试
      8. 日期类型数据同步测试
      9. 主键冲突处理测试
      10. 数据不存在更新测试
      11. 五、后续优化方向

        下一阶段将重点优化以下方面:

      12. 提升监控机制的响应效率
      13. 增强数据类型转换功能
      14. 完善异常处理机制
      15. 优化同步性能
      16. 以上为当前流程优化的主要内容,后续将继续跟进各项改进任务的执行情况,并根据实际使用反馈进一步优化系统性能。

    转载地址:http://ffjfk.baihongyu.com/

    你可能感兴趣的文章