DataX 全系列之零 —— 初识 DataX


1.基本介绍

  DataX是一种异构数据源离线同步工具,实现了包括关系型数据库(如Mysql)、HDFS、Hive、Hbase、FTP、ElasticSearch等各种异构数据源之间稳定高效的数据同步功能。并且拥有很强的可扩展性。

  DataX在解决异构数据源同步问题上,将复杂的网状的同步链路变成了星型数据链路, 各数据源之间不需要通过复杂的开发来编写数据同步代码,而可以依赖于DataX连接不同的数据源。各个数据源插件接入DataX后,便可以只考虑自身需要同步的数据,如何同步到目标数据源,DataX能够帮你高效的完成。

图片 1.png

  DataX目前支持以下数据源:

图片2.png


2.名词解释

  • 异构数据源: 指不同的数据库管理系统之间的数据。因为业务、使用场景、数据量大小,不同需求等因素影响,导致企业会应用多种不同存储方式的业务数据,包括采用的数据管理系统也大不相同,从简单的文件数据库到复杂的网络数据库,它们构成了企业的异构数据源。

  • 离线: 在线、离线通常指某一功能或工作(如检测、控制、给定)是在系统运行之中进行,还是在系统运行之前(或之后)进行。离线通常是生产过程不和计算机相连,且不受计算机控制,而是靠人进行联系并做相应操作的方式称为离线方式或脱机方式。


3.主要特点

  • 实现了不同数据源间的数据高效率同步
  • 全内存操作,不读写磁盘,因此效率较高
  • 框架开放性和可扩展性强,能够让开发者能够在短时间内开发出新的插件来支持新的数据源
  • 采用 Framework + plugin 架构构建,Framework 主要负责缓冲,流控,并发,监控,统计,上下文加载等高速高效的数据同步的大部分技术问题,提供了大量接口可以与插件进行交互,插件仅需实现对数据处理系统的访问
  • 单进程,多线程的运行模式。

4.适用场景

  • 不同数据源之间需要进行数据同步时,DataX是首选。
  • DataX传输高效稳定,适合用于数据的全量同步场景。
  • 不同或相同数据源间数据量的大规模迁移。

5.优点和缺点

优点:

  • 数据质量监控完善,能让数据可以完整无损的传输到目的端
  • 支持大量数据源之间的数据同步,并且可扩展相当强
  • 速度可以控制,可以通过配置文件,配置并发数
  • 新版本 DataX3.0 提供了包括通道(并发)、记录流、字节流三种流控模式,可以随意控制你的作业速度,让你的作业在库可以承受的范围内达到最佳的同步速度
  • 同步性能十分高效,每一种读插件都有一种或多种切分策略,都能将作业合理切分成多个Task 并行执行,单机多线程执行模型可以让 DataX 速度随并发成线性增长
  • 使用及其安装简单易懂,开箱即用,容易上手
  • 对于脏数据的处理十分完善且周到
  • 稳定性好,日志完善且人性化

缺点:

  • 单机,不支持分布式。
  • 运行全内存操作,单机压力大。
  • 每次同步需要配置 json 文件,复杂场景使用起来比较麻烦。

6.总结

  DataX是目前在阿里内部被广泛使用的数据同步工具,后续会对DataX的原理和使用进行一个详细的介绍,想了解更多DataX核心优势的可以去官方文档查看。

github.com/alibaba/Dat…

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享