数据迁移技术方案调研——datax

本文探讨了在业务需求下如何利用ETL中间件如DataX进行数据筛选和迁移,介绍了ETL的工作原理,重点比较了Kettle和DataX的优缺点,以及在特定环境下的性能测试结果。DataX以其高效和易集成的特点在阿里巴巴内部广泛应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据迁移技术方案调研

   --ZN

前言:

考虑到现有的业务需求,我们需要对数据进行筛选之后再进行迁移。单纯的数据库备份方案可能无法完全符合我们的业务场景,所以考虑使用ETL中间件。ETL中间件有几个好处,不需要单独部署,可以与springboot做整合。支持复杂的查询语句做数据筛选。导入数据时可以做个性化的定制,比如数据冲突时替换原有数据。性能也很好。且支持压缩,可以减少数据文件的大小。

1.关于ETL

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,是数据仓库的生命线。

抽取(Extract)主要是针对各个业务系统及不同服务器的分散数据,充分理解数据定义后,规划需要的数据源及数据定义,制定可操作的数据源,制定增量抽取和缓慢渐变的规则。

转换(transform)主要是针对数据仓库建立的模型,通过一系列的转换来实现将数据从业务模型到分析模型,通过ETL工具可视化拖拽操作可以直接使用标准的内置代码片段功能、自定义脚本、函数、存储过程以及其他的扩展方式,实现了各种复杂的转换,并且支持自动分析日志,清楚的监控数据转换的状态并优化分析模型。

装载(Load)主要是将经过转换的数据装载到数据仓库里面,可以通过直连数据库的方式来进行数据装载,可以充分体现高效性。在应用的时候可以随时调整数据抽取工作的运行方式,可以灵活的集成到其他管理系统中。

2.已有的ETL技术方案。

Kettle

一款国外免费开源的、可视化的、功能强大的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。

尽管Kettle是一款强大的ETL工具,但也存在一些缺点目前是没有好的办法可以解决:1. 学习曲线较陡:对于新手来说,Kettle可能需要一些时间来理解其概念和操作方式。尤其是在处理复杂的数据转换逻辑时,需要具备一定的数据处理和编程知识。

2. 中文文档和支持有限:相比其他一些国产的ETL工具,Kettle在国内的用户数量虽然很多,但是中文文档和技术支持相对有限。这可能导致在遇到问题时需要更多的自学和研究。

3. C/S结构的系统虽然安装比较简单但是安装包很大,启动比较慢,不支持多租户模式,每个做ETL流程的工程师都需要安装一套kettle。

DataX:

是阿里云DataWorks数据集成的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。 DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能。

读写效率调查:

    1. 机器参数
  • 执行DataX的机器参数为:
    1. cpu: 24核 Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz
    2. mem: 48GB
    3. net: 千兆双网卡
    4. disc: DataX 数据不落磁盘,不统计此项
  • Mysql数据库机器参数为:
    1. cpu: 32核 Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
    2. mem: 256GB
    3. net: 千兆双网卡
    4. disc: BTWL419303E2800RGN INTEL SSDSC2BB800G4 D2010370

DataX jvm 参数

-Xms1024m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError

测试报告

单表读测试报告

通道数

是否按照主键切分

DataX速度(Rec/s)

DataX流量(MB/s)

DataX机器网卡进入流量(MB/s)

DataX机器运行负载

DB网卡流出流量(MB/s)

DB运行负载

1

183185

18.11

29

0.6

31

0.6

1

183185

18.11

29

0.6

31

0.6

4

183185

18.11

29

0.6

31

0.6

4

329733

32.60

58

0.8

60

0.76

8

183185

18.11

29

0.6

31

0.6

8

549556

54.33

115

1.46

120

0.78

单表写测试报告

通道数

批量提交行数

DataX速度(Rec/s)

DataX流量(MB/s)

DataX机器网卡流出流量(MB/s)

DataX机器运行负载

DB网卡进入流量(MB/s)

DB运行负载

DB TPS

1

128

5319

0.260

0.580

0.05

0.620

0.5

50

1

512

14285

0.697

1.6

0.12

1.6

0.6

28

1

1024

17241

0.842

1.9

0.20

1.9

0.6

16

1

2048

31250

1.49

2.8

0.15

3.0

0.8

15

1

4096

31250

1.49

3.5

0.20

3.6

0.8

8

4

128

11764

0.574

1.5

0.21

1.6

0.8

112

4

512

30769

1.47

3.5

0.3

3.6

0.9

88

4

1024

50000

2.38

5.4

0.3

5.5

1.0

66

4

2048

66666

3.18

7.0

0.3

7.1

1.37

46

4

4096

80000

3.81

7.3

0.5

7.3

1.40

26

8

128

17777

0.868

2.9

0.28

2.9

0.8

200

8

512

57142

2.72

8.5

0.5

8.5

0.70

159

8

1024

88888

4.24

12.2

0.9

12.4

1.0

108

8

2048

133333

6.36

14.7

0.9

14.7

1.0

81

8

4096

166666

7.95

19.5

0.9

19.5

3.0

45

16

128

32000

1.53

3.3

0.6

3.4

0.88

401

16

512

106666

5.09

16.1

0.9

16.2

2.16

260

16

1024

173913

8.29

22.1

1.5

22.2

4.5

200

16

2048

228571

10.90

28.6

1.61

28.7

4.60

128

16

4096

246153

11.74

31.1

1.65

31.2

4.66

57

32

1024

246153

11.74

30.5

3.17

30.7

12.10

270

模拟数据实际实验:

模拟:查出与试卷号1704相关联的四万条试题数据并写入,4W条数据花费十秒,文件大小为4M。

重新读入四万条数据花费10s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值