DATAX工具同步数据从hdfs到drds性能优化

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介:

问题描述

在客户现场运维过程中,使用datax同步数据从hdfs到drds速度极其缓慢,因此希望进行datax的json文件进行优化,提升速度,同步缓慢及报错如下;fd0a8c8ead073bd604a2862f6717cf011158db67



问题分析

对于datax的使用问题,第一要素就要检查json文件的问题;

从同步的datax的日志及报错的tddl-4603来看,json文件是可以使用的,只是使用的参数设置有问题导致了4603的报错,也就是出现了跨库事务的存在;drds使用datax从hdfs同步数据过来,解析之后应该直接进入到对应的分库分表当中,为何会出现这种报错?

89d0d14d2aa348716ba42e81a73fd20b1cd712fc

检查json文件,我们发现如下:


532e1000195d33a250ab2bc2629219fe0407ae30

这里的drds导入的writer引擎竟然是mysqlwriter而非drdswriter引擎,经过咨询师兄,mysqlwriter不能用在drds目标的,否则就会出现跨库事物不支持;

由于drds本身是出现是有适用datax的drdswriter的引擎,所以修改引擎为drdswriter以后,重新执行datax同步任务,发现tddl-4603报错消失,同步速度从38k提升到200k;


c98f9ea17575d383cc92e5d52db285dca451537a

而此时200k速度,3000多行的导入速率依然太慢无法满足客户的需求;

故而还需继续分析优化其他参数来进行速度的提升;

这里涉及到的最直接的优化参数就是speed参数;

speed参数在这个场景有两种模式:

a、 channel模式:是并行的一个设置,设置并行切分任务数;

b、 bytes模式:限制单个任务速度上线;

而目前是由于速度根本上不去,并且测试了bytes以后根本不起作用,所以依旧选择使用channel;

对于数据writeMode写入模式,由于数据准备已经确定没有问题,没有必要进行导入校验,可以选择导入以后校验,故而用insert ignore替换了replace,并且添加了batchsize的缓冲大小再次进行测试

0fe79f6f0bab996b31ec2a403dbb23605aef1df2

如下为修改后的json文件模式;


f7c9a6157a14f3705d3f4ba98929ace94e06fb76

再次测试的结果如下:

89a56a40a58ce386c18b3501303f3a753d56f50b

速度从原来的200k提升到了1.7M,满足客户需求;

然后针对目前的情况略作微调进行压测如下:

340936ec0ea2fb6896197003d7b50a069f6e0cff

问题解决及建议

1、调整写入引擎从mysqlwriter到drdswriter引擎,避免夸库事务的存在;

2、调整writeMode写入模式从replace为insert ignore选择不进行数据检查模块,并增加batchsize参数,速度提升满足客户需求;

3、在此基础上进行微调,添加数据源参数及调整channel及batchsize等,得到最后参数设置及速度情况;


相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
目录
相关文章
|
关系型数据库 测试技术 数据库连接
实践教程之使用PolarDB-X进行冷热数据归档
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。
|
数据采集 存储 Java
【ETL工具将数据源抽取到HDFS作为高可靠、高吞吐量的分布式文件系统存储】
【ETL工具将数据源抽取到HDFS作为高可靠、高吞吐量的分布式文件系统存储】
140 0
|
4月前
|
存储 SQL Cloud Native
揭秘!PolarDB-X存储引擎如何玩转“时间魔术”?Lizard多级闪回技术让你秒回数据“黄金时代”!
【8月更文挑战第25天】PolarDB-X是一款由阿里巴巴自主研发的云原生分布式数据库,以其高性能、高可用性和出色的可扩展性著称。其核心竞争力之一是Lizard存储引擎的多级闪回技术,能够提供高效的数据恢复与问题诊断能力。本文通过一个电商公司的案例展示了一级与二级闪回技术如何帮助快速恢复误删的大量订单数据,确保业务连续性不受影响。一级闪回通过维护最近时间段内历史数据版本链,支持任意时间点查询;而二级闪回则通过扩展数据保留时间并采用成本更低的存储方式,进一步增强了数据保护能力。多级闪回技术的应用显著提高了数据库的可靠性和灵活性,为企业数据安全保驾护航。
54 1
|
4月前
|
数据库 Windows
超详细步骤解析:从零开始,手把手教你使用 Visual Studio 打造你的第一个 Windows Forms 应用程序,菜鸟也能轻松上手的编程入门指南来了!
【8月更文挑战第31天】创建你的第一个Windows Forms (WinForms) 应用程序是一个激动人心的过程,尤其适合编程新手。本指南将带你逐步完成一个简单WinForms 应用的开发。首先,在Visual Studio 中创建一个“Windows Forms App (.NET)”项目,命名为“我的第一个WinForms 应用”。接着,在空白窗体中添加一个按钮和一个标签控件,并设置按钮文本为“点击我”。然后,为按钮添加点击事件处理程序`button1_Click`,实现点击按钮后更新标签文本为“你好,你刚刚点击了按钮!”。
352 0
|
6月前
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之从MySQL迁移数据到PolarDB-X时,自定义函数不会自动迁移,该怎么办
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
122 1
|
7月前
|
Ubuntu 关系型数据库 MySQL
使用PXD工具一键安装PolarDB-X的体验
这次体验挺有意思的,对PolarDB-X有了更深入的了解,也希望能通过这些建议帮助产品做得更好。
310 2
使用PXD工具一键安装PolarDB-X的体验
|
7月前
|
存储 数据可视化 关系型数据库
绘制圆环图/雷达图/星形图/极坐标图/径向图POLAR CHART可视化分析汽车性能数据
绘制圆环图/雷达图/星形图/极坐标图/径向图POLAR CHART可视化分析汽车性能数据
|
7月前
|
存储 关系型数据库 分布式数据库
PolarDB-X最佳实践系列(五):使用通义千问和存储过程快速生成测试数据
我们在测试数据库性能的过程中,通常需要生成一批测试数据。 以前,一般要写一段程序或者脚本来完成这项工作,但现在是2024年啦!时代变了!
PolarDB-X最佳实践系列(五):使用通义千问和存储过程快速生成测试数据
|
7月前
|
存储 监控 关系型数据库
drds数据分布不均
drds数据分布不均
113 1
|
7月前
|
存储 关系型数据库 MySQL
PolarDB-X on OSS: 冷热数据分离存储
在即将发布的PolarDB-X 5.4.14版本中,我们将基于OSS存储服务,推出冷热数据分离存储这一新功能。在这一功能的基础上,您可以便捷地将冷数据从源表中剥离出来,归档至更低成本的OSS中,形成一张归档表;归档表支持高效的主键与索引点查、复杂分析型查询,满足高可用、MySQL兼容性和任意时间点闪回等特性。您可以像访问MySQL表一样来访问归档表,也可以用开源大数据产品接入OSS的归档数据。
197 0
PolarDB-X on OSS: 冷热数据分离存储