我是靠谱客的博主 迷你电源,最近开发中收集的这篇文章主要介绍各种开源数据库同步工具汇总,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

(1) OGG
Oracle GoldenGate 是一款实时访问、基于日志变化捕捉数据,并且在异构平台之间迚行数据传输的产品。GoldenGate TDM是一种基于软件的数据复制方式,它从数据库的日志解析数据的变化(数据量只有日志的四分之一左右)。GoldenGate TDM将数据变化转化为自己的格式,直接通过TCP/IP网络传输,无需依赖于数据库自身的传递方式,而且可以通过高达10:1的压缩率对数据迚行压缩,可以大大降低带宽需求。在目标端,GoldenGate TDM可以通过交易重组,分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在亚秒级实现大量数据的复制,并且目标端数据库是活动的。

优点:牛逼

缺点:好像不开源;

(2) Canal
canal是由Alibaba开源的一个基于binlog的增量日志组件,其核心原理是canal伪装成Mysql的slave,发送dump协议获取binlog,解析并存储起来给客户端消费。

优点:可以同步任何非查询类操作。DDL和DML语句(除了数据查询语句select)。增量+全量都可以

缺点:数据源只支持MySQL,因为利用了MySQL的binlog特性

项目地址:https://github.com/alibaba/canal

(3) otter
otter是一款基于Java且免费、开源基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库的解决方案

优点:

1. 单向同步, mysql –> oracle互相同步

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/DTStack/flinkx

缺点: 通过查询语句select同步的

(7) Porter
Porter是一款随行付开源的数据同步中间件,主要用于解决同构/异构数据库之间的表级别数据同步问题。

项目地址:https://github.com/sxfad/porter

缺点: 数据源只支持MySQL和Oracle;仅支持DML;通过查询语句select同步的


(8) CloudCanal

CloudCanal是一款由ClouGence公司发行的集结构迁移、数据全量迁移/校验/订正、增量实时同步为一体的多源多端数据迁移同步平台。产品包含完整的产品化能力,助力企业打破数据孤岛、完成数据互融互通,从而更好的使用数据。

发版时间:2021年8月20日
版本号: 1.0.2

新特性

  • 新增Oracle源端
  • 新增PostgreSQL源端
  • 新增Greenplum源端
  • 新增PolarDbMySQL源端
  • 新增Oracle目标端
  • 新增PostgreSQL目标端
  • 新增Greenplum目标端
  • 新增Hive目标端
  • 新增DRDS目标端
  • 新增PolarDbMySQL目标端
  • 新增AdbForMySQL目标端
  • 新增校验任务结果查看
  • 支持ClickHouse最新版本到22.1
  • ClickHouse 新增 ReplacingMergeTree 支持,并且默认选中该表引擎

BugFix&优化

  • 修复timestamp on update current timestamp不同步问题
  • 修复树状选择,筛选表,勾选掉一张表后又加载全部的问题
  • 修复校验、订正任务重跑刷新的问题
  • 修复源端阿里云 kafka 初始位点问题
  • 修复Clickhouse对端同步无主键表问题
  • 修复sidecar stdout打印过多日志问题
  • 修复Kafka任务,获取分区NPE问题
  • 修复因机器规格低导致的sidecar访问管控超时问题
  • 修复机器timezone非东八区时的时区问题,现在CloudCanal时间值的写入和机器操作系统时区解耦
  • 修复sidecar容器重启,sidecar进程没法正常重启的问题
  • 优化写入对端 RocketMQ 性能
  • 放开任务创建数量限制

关联资料

CloudCanal社区

CloudCanal Release信息汇总

CloudCanal安装使用文档(含下载地址)

MySQL到ClickHouse实时同步-CloudCanal实战

构建基于kafka中转的混合云在线数据生态-cloudcanal实战

5分钟搞定 MySQL 到 ElasticSearch 迁移同步-CloudCanal实战

最后

以上就是迷你电源为你收集整理的各种开源数据库同步工具汇总的全部内容,希望文章能够帮你解决各种开源数据库同步工具汇总所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部