Skip to content

DataX Introduction Old

烬哥哥 edited this page Aug 22, 2016 · 1 revision

Why DataX?

image

DataX实现跨平台的、跨数据库、不同系统之间的批量数据同步。

当我们需要从各种异构数据源之间完成数据同步的时候,是否需要开发很多工具完成?答案是不用,因为你有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

DataXJob,即一个DataX作业,用户完成指定两个数据源之间的数据传输。数据传输过程在单进程内完成,全内存操作,不读写磁盘。

DataX框架内部会将作业切分成多Task,并调度组合在TaskGroup中运行。每一个Task数据流向即Reader—>Channel—>Writer。

image

用户可以指定作业并发度完成Task并发执行控制。

DataX目前阿里的应用情况

支持阿里所有离线数据传输的业务,每天运行超过5w个作业,每天接近300T左右数据量传输