【YashanDB 知识库】用 yasldr 配置 Bulkload 模式作单线程迁移 300G 的业务数据到分布式数据库,迁移任务频繁出错

简介: 问题描述详细版本:YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 6db1237影响范围:离线数据迁移场景,影响业务数据入库。外场将部分 NewCIS 的报表业务放到分布式数据库,验证 SQL 性能水平。操作系统环境配置:125G 内存32C CPU2T 的 HDD 磁盘问题出现的步骤/操作:1、部署崖山分布式数据库 1mm 1cn 3dn单线启动 yasldr 数据迁移任务,设置 32 线程的 bulk load 模式2、观察 yasldr.log 是否出现如下错

问题描述

详细版本:YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 6db1237

影响范围:

离线数据迁移场景,影响业务数据入库。

外场将部分 NewCIS 的报表业务放到分布式数据库,验证 SQL 性能水平。

操作系统环境配置:

125G 内存

32C CPU

2T 的 HDD 磁盘

问题出现的步骤/操作:

1、部署崖山分布式数据库 1mm 1cn 3dn

单线启动 yasldr 数据迁移任务,设置 32 线程的 bulk load 模式

2、观察 yasldr.log 是否出现如下错误

failed to allocate 6812396 bytes memory quota for init bulkload quota

问题分析

BULKLOAD 导入过程中所有导入线程的最大可用内存按如下公式配置:

COLUMNAR_MATERIAL_PERCENT COLUMNAR_VM_BUFFER_SIZE BULKLOAD_MAX_MEM_PERCENT

相应参数配置:

COLUMNAR_VM_BUFFER_SIZE = 19375M

COLUMNAR_MATERIAL_PERCENT = 80 //没有配置,使用默认配置

BULKLOAD_MAX_MEM_PERCENT = 80 //没有配置,使用默认配置

导入线程的最大可用内存: 80% 19375M 80% = 12400M

yasldr 进程数(8 个)和线程数(32 线程),总线程数量: 8 * 32 = 256

平均每个线程的可用内存: 12400M/256 = 48.4375 M

已知配置参数:COLUMNAR_BULK_SIZE = 4096 //指定列存计算每批次记录行数

每行记录如果有 20K,就超过平均值,资源变成紧张。

规避方法

1、减小导入线程

2、调大相关内存配置(COLUMNAR_MATERIAL_PERCENT/COLUMNAR_VM_BUFFER_SIZE /BULKLOAD_MAX_MEM_PERCENT)

为保证导入不因内存不足报错,请至少保证每个服务端导入线程内存最小为 300M。

可以通过视图 dV$bulkloadStat 观察 bulkload 导入的情况

相关文章
|
8月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
9月前
|
存储 运维 关系型数据库
从MySQL到云数据库,数据库迁移真的有必要吗?
本文探讨了企业在业务增长背景下,是否应从 MySQL 迁移至云数据库的决策问题。分析了 MySQL 的优势与瓶颈,对比了云数据库在存储计算分离、自动化运维、多负载支持等方面的优势,并提出判断迁移必要性的五个关键问题及实施路径,帮助企业理性决策并落地迁移方案。
|
11月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
1599 1
|
存储 关系型数据库 数据挖掘
【瑶池数据库动手活动及话题本周精选(体验ADB、 SelectDB,参与 RDS 迁移训练营)】(4.21-4.27)
本文为 “瑶池数据库动手活动及话题精选” 系列第一期,聚焦 SelectDB 日志分析、AnalyticDB Zero-ETL 集成、RDS 迁移训练营三大实战,设积分、实物等多重奖励,同步开启话题互动。点击链接参与,每周解锁数据库实战新场景。
|
11月前
|
关系型数据库 MySQL 数据库
MySQL数据库上云迁移
本文介绍了将数据库迁移到RDS for Mysql的两种主要方法:停服迁移和不停服迁移。停服迁移适合可短暂中断服务的场景,通过mysqldump或DTS完成;不停服迁移适用于需保持业务连续性的场景,推荐使用DTS实现结构、全量及增量数据迁移。文中详细列出了每种方法的具体操作步骤,帮助企业根据需求选择合适的迁移方案。
347 1
MySQL数据库上云迁移
|
SQL 测试技术 数据库
【YashanDB知识库】IMP跨网络导入慢问题
问题现象:290M数据,本地导入2分钟,跨机导入耗时显著增加(最高30分钟)。 原因分析:`imp`逐条SQL通过网络传输至yashanDB执行,交互频繁导致性能下降。 影响版本:客户测试环境22.2.8.3。 解决方法:将导入文件上传至与yashanDB同机后使用`imp`,减少网络延迟。 经验总结:优化`imp`工具,支持直接上传文件至服务器端执行,降低网络依赖。
|
监控 数据库
【YashanDB 知识库】ycm 托管数据库时报错 OM host ip:127.0.0.1 is not support join to YCM
在托管数据库时,若 OM 的 IP 被设置为 127.0.0.1,将导致无法托管至 YCM,并使数据库失去监控。此问题源于安装时修改了 OM 的监听 IP。解决方法包括:将 OM 的 IP 修改为本机实际 IP 或 0.0.0.0,同时更新 env 文件及 yasom 后台数据库中的相关配置。经验总结指出,应避免非必要的后台 IP 修改,且数据库安装需遵循规范,不使用仅限本机访问的 IP(如 127.0.0.1)。
【YashanDB知识库】手工迁移Doris数据到崖山分布式
【YashanDB知识库】手工迁移Doris数据到崖山分布式

热门文章

最新文章