认识DataX
企业里真实的数据流转是什么样子的呢? 左侧描述了一个企业真实的样子,我们总是需要把数据从一个地方搬到另一个地方,最后就是搬来搬去搬成了一张张解不开的网。
右侧则表达了使用DataX为中心实现数据的同步。
什么是DataX
DataX是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
简单说,DataX也是一款数据集成工具。
DataX设计理念
为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步。
DataX框架设计
DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。
- Reader
Reader为数据采集模块,负责采集数据源的数据,将数据发送给Framework。
- Writer
Writer为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。
- Framework
Framework用于连接Reader和Writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。
DataX优势
- 可靠的数据质量监控
- 丰富的数据转换功能
- 精准的速度控制
- 强劲的同步性能
- 健壮的容错机制
- 极简的使用体验
DataX支持的插件
类型 | 数据源 | Reader(读) | Writer(写) |
---|---|---|---|
RDBMS 关系型数据库 | MySQL | √ | √ |
Oracle | √ | √ | |
OceanBase | √ | √ | |
SQLServer | √ | √ | |
PostgreSQL | √ | √ | |
DRDS | √ | √ | |
Kingbase | √ | √ | |
通用RDBMS(支持所有关系型数据库) | √ | √ | |
阿里云数仓数据存储 | ODPS | √ | √ |
ADB | √ | ||
ADS | √ | ||
OSS | √ | √ | |
OCS | √ | ||
Hologres | √ | ||
AnalyticDB For PostgreSQL | √ | ||
阿里云中间件 | datahub | √ | √ |
SLS | √ | √ | |
图数据库 | 阿里云 GDB | √ | √ |
Neo4j | √ | ||
NoSQL数据存储 | OTS | √ | √ |
Hbase0.94 | √ | √ | |
Hbase1.1 | √ | √ | |
Phoenix4.x | √ | √ | |
Phoenix5.x | √ | √ | |
MongoDB | √ | √ | |
Cassandra | √ | √ | |
数仓数据存储 | StarRocks | √ | √ |
ApacheDoris | √ | ||
ClickHouse | √ | √ | |
Databend | √ | ||
Hive | √ | √ | |
kudu | √ | ||
selectdb | √ | ||
无结构化数据存储 | TxtFile | √ | √ |
FTP | √ | √ | |
HDFS | √ | √ | |
Elasticsearch | √ | ||
时间序列数据库 | OpenTSDB | √ | |
TSDB | √ | √ | |
TDengine | √ | √ |
进阶
前面有介绍过SeaTunnel和Kettle两款数据集成工具,每一款工具都是自己的特色和使用场景。如果你正为同步数据而发愁,不妨试一试DataX吧。
关注:遇码,回复datax获取官方使用说明。