数仓之异构数据源同步

article/2025/11/11 10:26:41

本小结介绍下数仓数据同步常用的开源组件,具体组件如下

datax :离线数据同步工具,由阿里开源。github地址

kettle:离线ETL工具,由Pentaho公司开源。中文站点。下载地址

canal:实时binlog订阅工具,由阿里开源。github地址

先介绍datax组件,它基于python语言开发,支持十几种数据库之间的数据同步,有nosql、关系数据库、时序数据库、无结构数据存储等类型。它通过一个用户可配置的json文件,定义一个同步任务。例子如下:

{"job": {"setting": {"speed": {"channel": 3},"errorLimit": {"record": 0,"percentage": 0.02}},"content": [{"reader": {"name": "mysqlreader","parameter": {"username": "root","password": "root","column": ["id","name"],"splitPk": "db_id","connection": [{"table": ["table"],"jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/database"]}]}},"writer": {"name": "streamwriter","parameter": {"print":true}}}]}
}

datax的同步速度号称可以打满服务器带宽,实际使用一般受限于来源库或者目标库的读写性能。同时它支持多线程并行运行,前提是reader组件支持按照主键进行数据分片。它还支持执行一个在同步前和同步后的执行sql功能,这个功能可以让你在同步数据前清空目标库表,同步完成后向日志表中写入数据。

总的来说datax是一个优秀的表级别的数据同步工具,缺点是没有可视化界面。而且每张表都需要开发一个json文件,整库同步需要做很多开发。

第二个组件kettle,是数据ETL工具,这里介绍它是因为它也可以实现数据同步。kettle的数据同步性能较之datax有一定差距,数据来源也支持十几种,但是kettle的开源资料比较少,初始学习可能比较困难。

下图是一个数据同步任务时用到的两个kettle组件,如图所示kettle工具是可视化的并且支持拖拽。

 第三个组件介绍的是canal,它属于CDC组件。原理是伪装自己为mysql的从节点向主节点发送订阅请求,并且拿到binlog日志数据发送到kafka或者同步到其它数据库中。

canal组件产出的数据是一个实时流,我们可以将一个应用数据库的日志数据发送到kakfa中,下游各个消费者订阅数据将增量数据同步到各自的数据库中,官网提供的客户端有如下

  • Sync HBase
  • Sync RDB
  • Sync ES

 canal也存在局限性,首先它不支持数据初始化即只能同步增量日志不能同步库表已有的数据。同时它只支持订阅mysql的日志。

 总结:本小结讲了两个离线同步组件一个实时数据订阅组件,它们有各自的优点与缺点,你需要根据自己的需求进行选择使用。

本小结涉及的组件我在网盘上传了一份,有需要的可以直接下载。

链接:https://pan.baidu.com/s/19eE8Q1dwAVirTlfjzTm4_g 
提取码:ubci


http://chatgpt.dhexx.cn/article/Sx1ON8x6.shtml

相关文章

如何进行异构数据库同步

1、简介 最近一阵子笔者在进行完成同样功能的两套异构数据库系统的同步工作,有一些心得体会分享给大家,欢迎技术同仁拍砖。 该项目有一个运行若干年(5~10年)的旧系统,采用的是SQL Server数据库,…

什么是异构数据源和分布式数据库

2019独角兽企业重金招聘Python工程师标准>>> 异构数据源(disparate data source)广义上讲是指数据结构、存取方式、形式不一样的多个数据源。如,在一个系统中,同时包含由关系型数据库Oracle/SQL SERVER/MYSQL、EXCEL文…

异构数据库传输工具

异构数据库传输工具 一、国产1 QMatrix - 沃趣科技2 SuperSync - DSG3 DataX - 淘宝4 DMHS - 武汉达梦 二、国外1 OGG - Oracle2 DBSync 三、工具对比 一、国产 1 QMatrix - 沃趣科技 企业多云数据流计算平台。 相关资料链接 数随心动QMatrix产品QMatrix与传统的ETL&#xf…

异构数据比对

1 概述 BeeDI提供任意数据库间(Oracle、SQL Server、MySQL、PostgreSQL、DB2、Elasticsearch、Cassandra、MongoDB、Solr、HBase等)表的数据一致性比对校验功能,支持异构表(不同表名,目标表字段可多于源表&#xff09…

数据异构方案

1、定义 何谓数据异构,上周交易部门商品的同事过来做分享,又看到这个词,他的PPT里面是 数据库异构。其实我们以前做的事情,也是可以成为数据异构。比如我们将DB里面的数据持久化到REDIS里面去,就是一种数据异构的方式。…

数据异构的武器-BINLOG+MQ

2019独角兽企业重金招聘Python工程师标准>>> 1、定义 何谓数据异构,上周交易部门商品的同事过来做分享,又看到这个词,他的PPT里面是 数据库异构。其实我们以前做的事情,也是可以成为数据异构。比如我们将DB里面的数据持…

LVDS差分信号深度详解

博主福利:100G电子设计学习资源包! http://mp.weixin.qq.com/mp/homepage?__bizMzU3OTczMzk5Mg&hid7&snad5d5d0f15df84f4a92ebf72f88d4ee8&scene18#wechat_redirect -------------------------------------------------------------------…

lvds接口_LVDS,接口,时序讲解,非常好的文章

欢迎FPGA工程师加入官方微信技术群 点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群 1.1.1 LVDS接口分类 1.1.1.1 单路6bit LVDS 这种接口电路中,采用单路方式传输,每个基色信号采用6位数据,共18位RGB数据,因此,也称18位或18bit LVDS接口。此,也称18位或18bit…

YL芯片LVDS屏幕时序和接口介绍

接口说明 YL芯片使用LVDS接口对外输出图像,芯片支持单8和双8和2路单8同时输出的方式输出图像。 芯片支持VESA (Video Electronics Standards Association) standard and JEIDA (Japanese Electronic Industry Development Association) standard两种输出标准。 LV…

ftp软件是什么如何使用,ftp软件是什么如何使用

ftp软件是什么,ftp软件是一种文件传输下载方式,它是TCP/IP协议栈的一部分;其中FTP又由两部分组成,一部分是FTP的服务器,另一部分是FTP的客户端!它能够高效安全地进行文件传输下载操作!可以使用服…

ftp,windows ftp工具哪个好用

说起windows ftp工具,不知道你们有什么推荐。不过小编有很熟悉的windows ftp工具,多多少少也有那么几个觉得特别好用的。不过需要注意的是有很多的ftp工具只能在windows系统上面操作,也有只能在liunx系统上面操作的。在下载的时候一定要看清楚…

ftp软件,国内好用的ftp软件

对于ftp软件,你了解多少?其实一般人也接触不到这种软件ftp软件主要是针对从事网站管理的工作人员比较有利的一款工具。可以帮助他们快速的解决工作中的问题。方便、简单、快捷又明了的解决问题,小编整理了三款国内好用的ftp软件。 第一款&am…

好用的ftp工具,细数四款好用的ftp工具

ftp工具是一种文件传输下载方式,它是TCP/IP协议栈的一部分;其中FTP又由两部分组成,一部分是FTP的服务器,另一部分是FTP的客户端!它能够高效安全地进行文件传输下载操作!可以使用服务器管理工具来作为FTP的客…

ftp下载,盘点四款值得推荐的ftp下载软件

ftp下载软件俗称来讲就是ftp软件,是我们常用的一个服务。ftp下载软件主要是网络上用来传送文件的软件。但有些ftp软件传输文件不是特别稳定。今天就来为大家盘点四款值得推荐的ftp下载软件。 第一款:IIS7服务器管理工具 这款软件的Ftp客户端做的是非常…

ftp上传软件,推荐5款好用的ftp上传软件

ftp上传软件现在有很多种,而且各有各的特点,至于ftp上传软件哪个好用呢?不得不说,ftp的存在让很多人能够更方便地实现分享及获取资源,一个好的资源共享环境应该由大家来维护。一款好用的ftp上传软件让我们能够更好地上…

ftp下载工具,ftp上传下载工具使用指南,几款好用的ftp客户端软件推荐

第一款:iis7服务器管理软件 它是一款免费而且专业的ftp多站点管理软件,而且可以实现ftp定时备份的功能。除此之外,它还是一款强大的服务器集成管理器,可以批量管理windows及linux服务器及vps。 下载地址:iis7服务器批量管理 效…

ftp客户端软件,3款值得推荐的ftp客户端软件

对于ftp客户端软件,你了解多少?其实一般人也接触不到这种软件。ftp客户端软件主要是针对从事网站管理的工作人员比较有利的一款工具。可以帮助他们快速的解决工作中的问题。方便、简单、快捷又明了的解决问题,下面有三款ftp客户端软件的介绍。…

免费ftp服务器,盘点三款好用的免费ftp服务器

免费ftp服务器主要是网络上用来传送文件的工具。但有些免费ftp服务器传输文件不是特别稳定。今天就来为大家盘点三款好用的免费ftp服务器。 第一款:IIS7服务器管理工具 这款软件的Ftp客户端做的是非常棒的,不仅具有批量操作功能,还具有定时…

ftp客户端软件有哪些,有哪些ftp客户端软件值得推荐?

不知道大家对于ftp客户端软件的要求普遍是什么,但是我的要求是很简单的,主要就是好用,方便容易上手,使用起来很容易,不要太复杂的。其实我对于ftp软件的要求应该是大部分网站工作者的基本要求吧。下面是我使用过的比较…

ftp服务器软件,推荐几款免费的ftp服务器软件,ftp客户端下载

推荐五款免费的ftp客户端 1、iis7服务器管理软件 它是一款免费而且专业的ftp多站点管理软件,而且可以实现ftp定时备份的功能。除此之外,它还是一款强大的服务器集成管理器,可以批量管理windows及linux服务器及vps。 下载地址:iis7服务器批…