关于DataX
1. 关于DataX
1.1. 前言
为什么写这篇文章,因为初出茅庐的时候,曾经遇到的一个面试官就是DataX的作者之一,而当时我还偏偏因为业务需求做了个数据库的同步工具,我当时不知道他做过这么专业的同步工具,被虐的老惨了,他面试的其中一个问题就是,如果要你去推销一款数据库同步工具,你该怎么推销?
相信没有深入了解过这个领域的可能说不出一两点优势来,而我当时做的工具,也就重在实现功能上了,唯一的优点我觉得就是还算通用,因为也是通过配置json文件设置对应表间的关系来实现不同数据库之间的数据同步
1.2. DataX的优势
所以现在在来谈谈数据同步工具该怎么推销,那不就是把数据同步工具可完善,可扩展的部分尽可能的讲一遍吗
- 首先是工具本身方面,我们需要DataX在传输性能上有保证,它采用的任务架构可以保证在单机多线程上速度随并发线性增长
- 那么如何保证传输过快,导致数据接收方崩掉呢,所以DataX提供了精准的速度控制模式,可以随意调整作业速度,保证达到最高效的同步速度
- 数据同步还需要什么?多了,不同的数据库可能字段类型需要一定转换,根据需要对数据可能需要进行特定的过滤,脱敏,补全操作,最好还可以用户自定义操作,这些DataX也提供了
- 同步的时候我们需要关注什么?对了,最好还有同步的进度,速度,错误情况,传输流量,cpu状况等等的可视化监控
- 对开发者而言,我们需要什么?我们需要的是配置简单,操作容易,依赖少,这也是DataX的特点
- 上述这些都是在正常情况下的操作,我们需要应对异常情况,比如网络波动,甚至宕机,所以我们需要DataX具有健壮的容错机制,对于这个,它提供了丰富的重试策略,和Task级别的重新调度(一个Job任务它会分成多个Task)
- 好了,你们还能想出同步工具需要支持的额外需求吗?
这里给出DataX的官方Github地址,我并没有在推广这个工具哦,如果你们的系统用了大量阿里云提供的服务比如odps,ads,那它倒是天然适配了,用它正合适,不过如果是mysql到mysql的同步就不一定要用这个了,业界流行的似乎是
canal也是阿里的,至于这两个哪个快,我没有测过,感兴趣的可以自行尝试
关于DataX的更多相关文章
- datax+hadoop2.X兼容性调试
以hdfsreader到hdfswriter为例进行说明: 1.datax的任务配置文件里需要指明使用的hadoop的配置文件,在datax+hadoop1.X的时候,可以直接使用hadoop1.X/ ...
- [推荐]DataX、DbSync和Timetunnel学习贴
[推荐]DataX.DbSync和Timetunnel学习贴 一 DataX 二 DbSync 三 Timetunnel TimeTunnel :http://code.taobao.org/p/T ...
- 关于sqoop与datax。 和sqoop to oracle插件OraOop
之前我还在想了解下datax,是否有可能替换sqoop,但了解后发现,datax和sqoop的业务场景是不同的.前者适合异构数据库的同步,后者适合hdfs与rdbms互相之间的同步.针对sq ...
- DataX的简单编译安装测试
搭建环境: Java > =1.6 Python>=2.6 <3 Ant Rpmbuild G++ 编译DataX: 进入rpm文件夹 ...
- datax中oracleWriter
在使用datax的oraclewriter时,由于对oracle的不熟悉,以及c++编译的不熟悉,颇费了一些周折.在此,记录一下,供再次使用的人参考. 1.oracleWriter :oracle提供 ...
- 异构数据源海量数据交换工具-Taobao DataX 下载和使用
DataX介绍 DataX是一个在异构的数据库/文件系统之间高速交换数据的工具,实现了在任意的数据处理系统(RDBMS/Hdfs/Local filesystem)之间的数据交换. 目前成熟的数据导入 ...
- 淘宝异构数据源数据交换工具 DataX
淘宝异构数据源数据交换工具 DataX 阅读目录 DataX是什么? DataX用来解决什么? DataX特点? DataX结构模式(框架+插件) DataX在淘宝的运用 DataX是什么? Data ...
- 数据同步DataX
数据同步那些事儿(优化过程分享) 简介 很久之前就想写这篇文章了,主要是介绍一下我做数据同步的过程中遇到的一些有意思的内容,和提升效率的过程. 当前在数据处理的过程中,数据同步如同血液一般充满全过 ...
- 开源作业调度工具实现开源的Datax、Sqoop、Kettle等ETL工具的作业批量自动化调度
1.阿里开源软件:DataX DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).HDFS.Hive.ODPS.HBase.FTP等各种异构数据源之间稳 ...
- DaTaX当成jar包当作第三方库启动的相关问题
上一篇已经大致的将了本地状况下DaTaX的纯Java代码启动的过程 http://www.cnblogs.com/blogsofmy/p/8287637.html不了解的请点超链接 这次我们来说说文件 ...
随机推荐
- 201871010106-丁宣元 《面向对象程序设计(java)》第二周学习总结
丁宣元 <面向对象程序设计(java)>第二周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...
- 09-赵志勇机器学习-k-means
(草稿) k-means: 1. 随机选取n个中心 2. 计算每个点到各个中心的距离 3. 距离小于阈值的归成一类. 4. 计算新类的质心,作为下一次循环的n个中心 5. 直到新类的质心和对应本次循环 ...
- 《Attack ML Models - 李宏毅》视频笔记(完结)
Attack ML Models - 李宏毅 https://www.bilibili.com/video/av47022853 Training的Loss:固定x,修改θ,使y0接近ytrue. N ...
- AppDomin学习与分享
最近学习并分享了appdomin的一些东西,以前没怎么记录过,现在记录一下吧2016-03-17 什么是AppDomin •全称:Application Domin(应用程序域) •定义:AppDom ...
- python 之类的继承
#类的继承 class As1(): def As2(self): print("he11...") class As2(As1): def As2(self): print(&q ...
- http 默认端口
80是http协议的默认端口,是在输入网站的时候其实浏览器(非IE)已经帮你输入协议了,所以你输入http://baidu.com,其实是访问http://baidu.com:80.而8080,一般用 ...
- win10系统:VMware无法在Windows运行该怎么办?
出现的问题: 解决方法: 点击“检查更新”或去官网下载最新版本 Vmware15.5.0(经过测试发现,Windows 10上面可以运行Vmware15.5.0 ) VMware Workstati ...
- C# IE浏览器操作类
using System; using System.Collections.Generic; using System.Drawing; using System.Runtime.InteropSe ...
- 使用软件FileZilla, 通过sftp协议实现windows与linux系统传输文件
前提: windows 7 /windows8 / windows 10系统已安装FileZilla软件: 我们还有一个Linux系统,系统上安装了ssh服务,并且开放了22端口. 操作: 1.打开软 ...
- linux alias写快捷键笔记
linux alias写快捷键笔记<pre>#vi ~/.bashrc ps:~找个代表当前登录用户的用户目录 pwd就知道了alias phpfpmrestart='/usr/local ...