开发者社区> 问答> 正文

数据对象解析MessageParser 为什么需要访问targetDB

试用中发现nodeselect 阶段报出访问db失败,查看源码是messageParser阶段会访问到目标库上。能说下这样设计的原因吗。如果是纯mysql的话是否可以去掉这个步骤

DbDialect targetDbDialect = dbDialectFactory.getDbDialect(pipeline.getId(), (DbMediaSource) targetDataMedia.getSource()); if (targetDbDialect.isDRDS())

原提问者GitHub用户iamyangjy

展开
收起
古拉古拉 2023-06-16 21:08:12 54 0
2 条回答
写回答
取消 提交回答
  • 在解析数据对象时,MessageParser需要访问目标数据库信息,其主要原因是为了在解析过程中准确地识别数据类型信息。以下是一些细节解释:

    1. Otter系统需要在解析数据对象时尽可能准确地识别数据类型信息,以确保数据在目标数据库中的正确性和完整性。这对于数据同步过程中的转换和校验非常重要。

    2. 解析过程本身是针对源数据库的,但源数据库和目标数据库之间可能会存在一些差异,例如数据类型可能不完全匹配。因此,为了在解析过程中考虑到目标数据库的特性,MessageParser需要访问目标数据库的信息。

    3. MessageParser访问目标数据库的信息,并不是用来直接操作或者修改目标数据库的,而是为了更准确地模拟目标数据库对数据的处理和转换过程,以此为基础进行数据同步工作。

    总之,访问目标数据库的信息是为了确保数据同步的正确性和完整性,以及更好地模拟目标数据库对数据的处理过程。

    2023-06-18 08:06:15
    赞同 展开评论 打赏
  • 可以关闭的,主要是目标为DRDS时,需要关注拆分条件

    原回答者GitHub用户agapple

    2023-06-16 21:50:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
神龙云服务器产品及技术深度解析 立即下载
弹性创造价值:基于ECS的最佳性价比实践解析 立即下载
又快又稳:阿里云下一代虚拟交换机解析 立即下载

相关镜像