Canal
canal是由Alibaba开源的一个基于binlog的增量日志组件,其核心原理是canal伪装成Mysql的slave,发送dump协议获取binlog,解析并存储起来给客户端消费。
优点:可以同步任何非查询类操作。DDL和DML语句(除了数据查询语句select)。增量+全量都可以
缺点:数据源只支持MySQL,因为利用了MySQL的binlog特性
otter
otter是一款基于Java且免费、开源基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库的解决方案
优点:
1. 单向同步, mysql --> oracle互相同步
2. 双向同步,无冲突变更
3. 文件同步,本地/aranda文件
4. 双A同步,冲突检测&冲突补救
5. 数据迁移,中间表/行记录同步
缺点:同canal,因其是利用canal来进行同步的,canal作为其数据源组件
DataX3.0
DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
优点:支持非常多数据库同步,原理是通过查询语句select同步的
缺点:不支持ddl同步
TreeSoft
也是通过查询语句select同步的
kettle
需要自己编写代码
FlinkX
也是通过查询语句select同步的
Porter
也是通过查询语句select同步的