DataX 是一款支持任意异构数据系统离线数据交换的工具、框架、平台,实现了在任意的数据处理系统(RDBMS/Hdfs/Local filesystem)之间的数据交换。目前DataX支持数十种各类数据存储、计算系统,每天为阿里集团传输数据高达数十T。DataX服务的客户不仅仅局限于三淘、支付宝、阿里巴巴B2B,阿里集团外部客户有大众点评、蘑菇街等也在采用DataX建设海量数据同步中心。未来DataX将实现阿里集团数据同步总线,实现阿里集团数据无阻碍的流动。 新版DataX 2.0 (分布式版本) 内部已经上线,预计今年正式提交开源社区。
DataX解决的问题
实现跨平台的、跨数据库、不同系统之间的数据同步及交互。
如果我们拥有很多不同类型的数据库/文件系统(Mysql/Oracle/Rac/Hive/Other…),并且经常需要在它们之间导入导出数据,那么我们可能需要开发/维护/学习使用一批这样的工具(jdbcdump/dbloader/multithread/getmerge+sqlloader/mysqldumper…)。而且以后每增加一种库类型,我们需要的工具数目将线性增长。(当我们需要将mysql的数据导入oracle的时候,有没有过想从jdbcdump和dbloader上各掰下来一半拼在一起到冲动?) 这些工具有些使用文件中转数据,有些使用管道,不同程度的为数据中转带来额外开销,效率差别很非常大。很多工具也无法满足ETL任务中常见的需求,比如日期格式转化,特性字符的转化,编码转换。另外,有些时候,我们希望在一个很短的时间窗口内,将一份数据从一个数据库同时导出到多个不同类型的数据库。 DataX正是为了解决这些问题而生。
以往,增加一类型的数据对接,我们可能为此增加一个接口或者是特意开发兼容数据的系统,如下图:
倘若我们需要增加一个数据源和目标源,那我们不得不重新开发一套新的同步工具
阿里的DataX统一了这规范并提供简单的数据源接口方便用户自定义需要的同步工具,如下图
DataX结构模式(框架+插件)
Job: 一道数据同步作业 Splitter: 作业切分模块,将一个大任务与分解成多个可以并发的小任务. Sub-job: 数据同步作业切分后的小任务 Reader(Loader): 数据读入模块,负责运行切分后的小任务,将数据从源头装载入DataX Storage: Reader和Writer通过Storage交换数据 Writer(Dumper): 数据写出模块,负责将数据从DataX导入至目的数据地 DataX框架内部通过双缓冲队列、线程池封装等技术,集中处理了高速数据交换遇到的问题,提供简单的接口与插件交互,插件分为Reader和Writer两类,基于框架提供的插件接口,可以十分便捷的开发出需要的插件。比如想要从oracle导出数据到mysql,那么需要做的就是开发出OracleReader和MysqlWriter插件,装配到框架上即可。并且这样的插件一般情况下在其他数据交换场合是可以通用的。更大的惊喜是我们已经开发了如下插件: Reader插件 hdfsreader : 支持从hdfs文件系统获取数据。 mysqlreader: 支持从mysql数据库获取数据。 sqlserverreader: 支持从sqlserver数据库获取数据。 oraclereader : 支持从oracle数据库获取数据。 streamreader: 支持从stream流获取数据(常用于测试) httpreader : 支持从http URL获取数据。 Writer插件 hdfswriter:支持向hdbf写入数据。 mysqlwriter:支持向mysql写入数据。 oraclewriter:支持向oracle写入数据。 streamwriter:支持向stream流写入数据。(常用于测试)
DataX在阿里应用
原工具 | 新工具 | 速度提升 | 内存利用提升 | |
mysql-hdfs | Jdbcdump | Datax | 116% | 114% |
oracle-hdfs | Jdbcdump | Datax | 87% | 67% |
hdfs-oracle | Getmerge+sqlloader | Datax | 103% | 42% |
这是阿里11年的值
阿里数据同步平台
参考:
相关推荐
首先,DataX是阿里巴巴开源的一款用于离线数据同步的框架,它能够实现在多种数据源之间进行稳定且高效的数据迁移。这些数据源包括但不限于关系型数据库(如MySQL、Oracle)、HDFS、Hive、ODPS、HBase以及FTP等。...
DataX是阿里巴巴开源的一款高效、稳定、强大的数据同步工具,它能够支持多种数据源之间的数据迁移。Azkaban则是LinkedIn开发的一个工作流作业调度系统,它为企业级的大数据处理提供了灵活的调度能力。将DataX与...
#### DataX概述 DataX是阿里巴巴研发的一款开源数据同步工具,其主要功能在于实现不同数据源之间的高效数据同步。它支持多种数据源,如MySQL、Oracle、HDFS、Hive等,并且具有强大的扩展性和灵活性。 ##### DataX ...
DataX是一款由阿里巴巴集团自主研发的离线数据同步工具/平台,能够高效地实现多种异构数据源之间的数据同步工作。该工具支持的数据源包括但不限于MySQL、Oracle、SqlServer、PostgreSQL、HDFS、Hive、Amazon ...
DataX,作为阿里巴巴开源的数据同步工具,旨在提供高效稳定的数据传输服务,支持多种数据源之间的数据迁移。其中,ClickHouse读写插件是DataX针对ClickHouse数据库专门设计的组件,用于实现与其他数据库如MySQL、SQL...
DataX是阿里巴巴开源的一款强大而高效的数据同步工具,它能够实现在多种数据存储之间进行数据迁移。在大数据领域,数据迁移是一项至关重要的任务,尤其在企业级应用中,数据的安全、稳定传输是保障业务连续性的基石...
DataX是一款由阿里巴巴开源的数据同步工具,它支持多种数据源之间的数据迁移,旨在实现离线数据同步。在这个主题中,我们将重点探讨DataX中的DorisWriter组件,以及如何通过JobJSON配置文件进行数据同步任务的设置。...
#### 一、DataX概述 DataX是一款由阿里巴巴开源的异构数据源离线同步工具,旨在实现不同类型的数据库及文件系统之间的高效数据同步。其支持的关系型数据库包括MySQL、Oracle等,同时也支持HDFS、Hive、ODPS、HBase...
DataX是一款由阿里巴巴集团研发的离线数据同步工具,能够实现不同数据存储系统之间高效、稳定的数据同步功能。本篇文章将详细介绍如何在Linux环境下安装配置DataX,并提供一些基本的开发实例。 #### 二、DataX安装...
1. **DataX概述** DataX设计目标是提供一种简单易用、高效率的数据同步框架,支持包括但不限于MySQL、Oracle、SQL Server、HDFS、HBase、TableStore(OTS)、MaxCompute(ODPS)等多种数据源之间的数据迁移。它...
一、DataX 概述 DataX 是阿里巴巴开源的数据同步框架,旨在提供高性能、稳定、易用的数据同步解决方案。它支持多种数据源之间的数据迁移,包括关系型数据库(如 MySQL、Oracle)、NoSQL 数据库(如 HBase、MongoDB...
DataX是阿里巴巴开源的一款强大的数据同步工具,专门用于实现离线数据同步,支持多种数据源之间的数据迁移。本讲解将详细介绍DataX的工作流程。 1. **DataX工作流程概述** DataX工作流程主要分为以下几个阶段: ...
DataX 是阿里巴巴开源的一款高效、稳定、扩展性强的数据同步工具,它支持多种数据源之间的数据迁移。在这个项目中,我们关注的是 DataX 与 Elasticsearch 的连接器,即 "datax-es"。标题和描述表明,这里提供的是一...
此外,DataX和同步中心用于与异构数据库的数据同步,确保数据的完整性和一致性。 2. **数据计算层**: 在数据计算层面,阿里巴巴采用了离线和实时两种计算方式。离线计算主要依赖于MaxCompute,这是一个大规模...
DataX 是阿里巴巴开源的一款高效、稳定、强大的数据同步工具,支持多种数据库之间的数据迁移。在本场景中,`mysqlreader.tgz` 压缩包包含了用于与 MySQL 8.0.13 版本连接的特定配置和驱动文件。 1. **DataX 概述**...
DataX作为阿里巴巴开源的数据同步框架,提供了多种数据源之间的数据迁移能力,其中包括对HDFS的支持。本文将深入解析DataX中的HDFSWriter组件,探讨其工作原理、配置细节以及使用场景。 一、DataX介绍 DataX是阿里...
#### 技术架构概述 阿里巴巴作为一个拥有庞大用户基础及业务场景的电商平台,其海量数据处理能力是确保业务高效运作的关键之一。本文将详细解析阿里巴巴淘宝平台数据产品的技术架构,特别是针对双十一等大型活动...
1. **DataX**:这是一个由阿里巴巴开发的数据同步工具,支持多种数据源到多种目标数据的全量和增量数据迁移,如从RDBMS到Hadoop。 2. **Flume**:Apache Flume是一种分布式、可靠的、可用于聚合和移动大量日志数据...
#### 概述 本文档旨在详细介绍如何通过不同的技术手段和工具实现数据从多种源头至MaxCompute的高效迁移,并结合具体的业务场景,展示整个数据处理流程的自动化实现。文档涵盖了离线数据与实时数据的处理流程,同时...
#### 一、概述 淘宝数据仓库作为支撑阿里巴巴集团海量数据处理的核心组件,在电商领域扮演着至关重要的角色。随着阿里巴巴集团的战略转型,即从一家电商平台逐步转变为一家数据驱动的科技公司,淘宝数据仓库的重要...