3358 www.Sina.com/Oracle golden gate是一种实时访问、根据日志中的变化捕获数据并在异构平台之间传输数据的产品。 GoldenGate TDM是一种基于软件的数据复制方法,用于从数据库日志中分析数据的变化(数据量只有日志的四分之一左右)。 GoldenGate TDM将数据变化转换为自己的格式,并通过TCP/IP网络直接传输。 不需要依赖于数据库本身的传输方法。 此外,通过以高达10:1的压缩率压缩数据,可以大大降低带宽要求。 在目标端,GoldenGate TDM可以通过事务重组、批处理加载等技术手段大大提高数据分发速度和效率,降低目标系统资源消耗,并在子秒级别实现大量数据复制,而目标数据库
好处:赶牛
缺点:似乎不是开源的
(1) OGGcanal是由Alibaba开源的基于binlog的增量日志组件,其核心原理是canal假扮为Mysql的slave,发送dump协议
优点:可以同步除查询以外的所有操作。 DDL和DML语句(数据查询语句select除外)。 增量一共可以
缺点:数据源仅支持MySQL。 因为利用了MySQL的binlog特性
项目地址: https://github.com/alibaba/canal
(2) Canalotter是一个基于Java、免费开源数据库增量日志分析,实时同步到此工作室或异地工作室的mysql/oracle数据库的解决方案
好处:
1.MySQLOracle相互同步的单向同步
2 .双向同步,无冲突变更
3 .文件同步,本地/aranda文件
4 .双a同步、碰撞检测碰撞修复
5 .数据迁移、中间表/行记录同步
缺点:由于canal与canal同步,因此canal用作其数据源组件
项目地址: https://github.com/alibaba/otter
)4) DataX DataX是一种异构数据源之间的脱机同步工具,可以在关系数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase和FTP等各种异构数据源之间进行同步
优点:支持通过查询语句select同步的非常多的数据库同步
缺点:不支持ddl同步
项目地址: https://github.com/alibaba/DataX
)5) kettle Kettle是国外开源的ETL工具,用java编写,可以在窗口、Linux、Unix上运行,数据提取高效稳定。 在中文里被称为水壶。 作为该项目的主要程序员,MATT希望将各种数据放入水壶中,以指定的格式流出。 这是一个ETL工具集,使您可以管理来自不同数据库的数据,并通过提供图形用户环境来描述您想做什么,而不是如何做。 Kettle有两个脚本文件,转换和作业。 转换完成数据的基本转换,作业控制整个工作流。
优点:功能强大,几乎支持所有数据库
缺点:用户需要一步一步配置,用学习成本高的查询语句select进行了同步
项目地址: https://github.com/pentaho/pentaho-kettle
)6) FlinkX FlinkX是袋鼠云内部广泛使用的基于flink的分布式离线和实时数据同步框架,实现了多种异构数据源之间的高效数据迁移。 FlinkX是一个基于Flink的批处理流统一数据同步工具,它既可以收集静态数据(如MySQL和HDFS ),也可以收集实时变化的数据(如MySQL binlog和Kafka )。
项目地址: https://github.com/dt堆栈/flinkx
用缺点:查询语句select进行了同步
)7) Porter Porter是开源数据同步中间件,主要用于解决同类/异构数据库之间的表级数据同步问题。
项目地址: https://github.com/sxfad/porter
缺点:数据源仅支持MySQL和Oracle; 仅支持DML; 通过查询语句select同步的