Oralce增量同步方案系列1-方案选型

来源:互联网 发布:中国税务网络大学 加速 编辑:程序博客网 时间:2024/06/08 08:07

前段时间楼主遇到一个新需求,需要对一个已经上线运营多年的Oralce数据库需要做数据同步,俩库的数据结构一致。借着这个机会重拾起N年没写的博客

 一、技术方案的选型

  • Oracle GoldenGate

         oracle原生态同步工具,收费,众多企业级数据同步方案都是这个,该方案是基于oracle日志分析做数据同步相对而言性能最好也最稳定

  • 基于Oracle Logminer日志

         LogMiner分析工具实际上是由一组PL/SQL包和一些动态视图(Oracle8i内置包的一部分)组成,它作为Oracle数据库的一部分来发布是8i产品提供的一个完全免费的工具。但该工具和其他Oracle内建工具相比使用起来显得有些复杂,主要原因是该工具没有提供任何的图形用户界面(GUI)。

  • Spoon ETL工具

        kettle开源工具多数大数据公司使用,稳定性相高;版本一直有开源团队维护,社区活跃,基于OSGI模式的组件工具,可以基于这个做二次开发。有丰富的组件提供例如数据文件解析,流的输出,分析。还可以嵌入java代码;

  • 阿里DataX

       DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。

  二、 最终选型方案

 

       考虑到收费问题,对已有数据库影响的问题舍弃Oracle两个方案,当然如果有时间读者们可以考虑基于日志的方式做数据同步,因为他对数据库性能影响最小。

   阿里DataX虽然开源但是没有一个活跃的社区论坛,版本迭代bug修复等比较迟缓,所以最终选型基于Kettle做二次开发;

  后续楼主回推出系列教程--基于Kettle做二次开发

  Kettle增量数据抽取转换模型创建

  大批量转换文件组件参数注入

  基于Quearz Job的方式调用转换文件