开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

Oracle Reader使用说明是什么?

Oracle Reader使用说明是什么?

展开
收起
wenti 2023-03-14 18:34:10 295 0
2 条回答
写回答
取消 提交回答
  • *主备同步数据恢复问题 主备同步问题指Oracle使用主从灾备,当主库报错切换至备库后,备库从主库不断地通过binlog恢复数据。由于主备数据同步存在一定的时间差,在网络延迟等特定情况下,会导致备库同步恢复的数据与主库有较大差别,从备库同步的数据不是一份当前时间的完整镜像。一致性约束 Oracle在数据存储划分中属于RDBMS系统,对外可以提供强一致性数据查询接口。例如,在一次同步任务启动运行的过程中,当该库存在其它数据写入方写入数据时,由于数据库本身的快照特性,Oracle Reader不会获取到写入的新数据。 上述是在Oracle Reader单线程模型下实现数据同步的一致性。Oracle Reader根据您配置的信息并发抽取数据,则不能严格保证数据一致性。 当Oracle Reader根据splitPk进行数据切分后,会先后启动多个并发任务完成数据同步。多个并发任务相互之间不属于同一个读事务,同时多个并发任务存在时间间隔。因此该数据并不是完整的、一致的数据快照信息。针对多线程的一致性快照需求,目前在技术上无法实现,只能从工程角度解决。工程化的方式存在取舍,在此提供以下解决思路,您可以根据自身情况进行选择。使用单线程同步,即不再进行数据切片。缺点是速度比较慢,但是能够很好保证一致性。关闭其它数据写入方,保证当前数据为静态数据。例如,锁表、关闭备库同步等。缺点是可能影响在线业务。数据库编码问题 Oracle Reader底层使用JDBC进行数据抽取,JDBC天然适配各类编码,并在底层进行了编码转换。因此Oracle Reader无需您指定编码,可以自动获取编码并转码。增量数据同步的方式Oracle Reader使用JDBC SELECT语句完成数据抽取工作,因此您可以使用SELECT…WHERE…进行增量数据抽取,方式如下:数据库在线应用写入数据库时,填充modify字段为更改时间戳,包括新增、更新、删除(逻辑删除)。对于该类应用,Oracle Reader只需要where条件后跟上一同步阶段时间戳即可。对于新增流水型数据,Oracle Reader在where条件后跟上一阶段最大自增ID即可。对于业务上无字段区分新增、修改数据的情况,Oracle Reader无法进行增量数据同步,只能同步全量数据。SQL安全性 Oracle Reader为您提供querySql功——该回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-03-15 13:15:06
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Oracle Reader插件实现了从Oracle读取数据。在底层实现上,Oracle Reader通过JDBC连接远程Oracle数据库,并执行相应的SQL语句,从Oracle数据库中选取数据。参考文档

    2023-03-14 21:09:07
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

热门讨论

热门文章

相关电子书

更多
PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
Oracle云上最佳实践 立即下载

相关镜像