海量创新基地 | 提速、高效:Vastbase数据库的多线程批量文件加载技术介绍


海量数据库
海量数据库 2024-02-05 17:19:22 50241
分类专栏: 资讯 标签: 国产数据库

图片

01

技术背景

 

 

每种数据库为了能够快速导入数据,一般都有自己的批量加载方法,根据自己的特点,快速将数据读入内存,组装为适配自身的二进制格式,往往还能提供直接写入的方式进一步加快吞吐量。Vastbase在针对此类场景有独特创新

图片

Vastbase数据库现有多线程架构

02

技术方案

 

 

既存难题

 

当用户不断产生大量待导入数据库的文本文件,需要尽快加载至数据库,避免发生堆积而可能导致的磁盘耗尽,最终严重影响系统的可用性。

 

现代计算机拥有多路、多核、大内存等资源,我们需要充分利用,将它们压榨到极致产生最高的处理速度。

 

来自于用户的文件大小和数量无法预知,如何根据用户的文件数据源拉起合适数量的加载线程,并且让各线程做到尽可能同时结束,让加载全程保持一个比较稳定的速度,是本发明解决的主要问题。

 

即使是比较理想的状态,文件大小均匀,数量恰好是预期加载线程数的整倍数,也会因为受线程资源影响,某个或某几个线程晚于其他线程结束,导致这段时间内无法发挥多线程加载的优势,拉低整个加载过程的平均速度。

 

 

因此,为实现整个过程中加载速度曲线的稳定平滑,既要提前对用户提供的数据源文件集进行规划,合理分配到多个加载线程,又要在加载过程中实时监控各线程的加载进度,动态调整达到基本一起结束的目的。

 

从文本文件读取数据并加工成Vastbase数据库支持的二进制格式,是本系统主要的工作内容。加载性能主要存在两个瓶颈,一是由文本文件读入并按规则正确拆分文本,二是将拆分完毕的文本转换为Vastbase数据库要求的二进制格式。很明显,第二种操作依赖于前一种,拆分带来的提升有限,并不能满足速度要求。

 

因此我们选用的方案是,尽可能多的启动多个Vastbase线程,每个Vastbase线程负责一个文件的读取、导入和转换,这样可以同时处理一批文件,提升性能满足速度要求。

图片

加载线程示意图

 

图片

系统整体示意图

 

 

1

加载开始时,根据文件数量和系统资源拉起(LaunchBackgroundWorkers)足够多的加载线程。

2

多线程加载文件;

1) 读取文件数据至内存

2) 在内存中分析和拆分文本数据

3)将拆分后的文本数据转换为Vastbase能够接受的二进制格式

3

每个线程的输出直接传递至Vastbase数据库。

4

线程生命周期结束(BgworkerListSyncQuit)。

03

技术效果

 

 

本系统利用贪心算法,将多文件的数据尽可能平均的分配到每个线程当中,通过启用多线程加载文件,在负载尽可能平均的前提下,让它们其中的每一个都在解析并产生数据,充分利用每一个CPU核心和存储的读取能力,实现高速加载的目的。

 

 

• END •

 

关于海量数据

 

北京海量数据技术股份有限公司(股票代码:603138.SH)成立于2007年,是国内首家以数据库为主营业务的主板上市企业。公司十余年来秉承“专注做好数据库”的初心,始终致力于数据库产品的研发、销售和服务。核心产品海量数据库Vastbase系列、数据库一体机Vastcube系列、海量大数据Datalink系列,全栈国产化,应用满足度高,目前广泛应用于政务、制造、金融、通信、能源、交通等多个重点行业,已成为国产企业级数据库的首选之一。

 

图片

 

 

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=51329
赞同 7
评论 0 条
海量数据库L3
粉丝 0 发表 20 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2983
【软件正版化】软件正版化工作要点  2900
统信UOS试玩黑神话:悟空  2876
信刻光盘安全隔离与信息交换系统  2761
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1294
grub引导程序无法找到指定设备和分区  1266
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  171
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  169
点击报名 | 京东2025校招进校行程预告  165
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  164
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!