当我们需要从各种异构数据源之间完成数据同步的时候,是否需要开发很多工具完成?答案是不用,因为你有DataX。DataX独有的Reader/Writer插件体系,你只需要增加一种DataX的插件,便可以无缝对接其他数据源。
DataX目前支持的数据源
类型 | Reader | Writer |
---|
RDBMS 关系型数据库 | MysqlReader | MysqlWriter |
| OracleReader | OracleWriter |
| SqlServerReader | PostgresqlWriter |
| PostgresqlReader | SqlServerWriter |
| DrdsReader | DrdsWriter |
阿里云数仓数据存储 | ODPSReader | ODPSWriter |
| | ADSWriter |
NoSQL数据存储 | OTSReader | OTSWriter |
| HBaseReader(0.94) | HBaseWriter(即将推出) |
| MongoDBReader | MongoDBWriter |
无结构化数据存储 | TxtFileReader | TxtFileWriter |
| HdfsReader | HdfsWriter |
| OssReader | OssWriter |
| | OCSWriter |
DataX采用Framework + plugin架构构建,Framework处理了缓冲,流控,并发,上下文加载等高速数据交换的大部分技术问题,提供了简单的接口与插件交互,插件仅需实现对数据处理系统的访问。目前已经支持数据源见上面表格,详情请看:DataX数据源指南
DataX作业运行
![image](https://cloud.githubusercontent.com/assets/1067175/12010638/8ffc3b6a-ace9-11e5-836e-7e7821eabbe7.png)
DataXJob,即一个DataX作业,用户完成指定两个数据源之间的数据传输。数据传输过程在单进程内完成,全内存操作,不读写磁盘。
DataX框架内部会将作业切分成多Task,并调度组合在TaskGroup中运行。每一个Task数据流向即Reader—>Channel—>Writer。
![image](https://cloud.githubusercontent.com/assets/1067175/12010651/61baa9ac-acea-11e5-8f11-32ac9559d921.png)
用户可以指定作业并发度完成Task并发执行控制。
DataX目前阿里的应用情况
支持阿里所有离线数据传输的业务,每天运行超过2w个作业,每天接近200T左右数据量传输
https://github.com/alibaba/DataX/wiki/DataX-Introduction