暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
ArgoDB Holodesk表格式对应的小文件合并.pdf
138
7页
0次
2024-05-30
10墨值下载
** 前情提要**
在实际业务中,小文件现象出现频率并不低,当小文件过多时,将会导致内存占用高、集群不稳定,增
加计算资源的开支等一系列问题,因此解决小文件问题迫在眉睫!!
由于篇幅限制,欲了解小文件出现背景,原因分析,为什么要治理小文件,小文件过多的危害等方面的
内容,可参考:【小文件详解】不同阶段下的小文件治理最佳解决手段
在前面介绍小文件治理相关的文章中有提到,小文件治理无外乎三个阶段,存储端、计算端以及SQL
端。其中存储端合并指的是说当表中有小文件或者小文件过多时,可以通过合并已经写入到存储的文件
来治理,主要适用于以下原因导致的小文件问题:
频繁的写入数据;
torccompact多次合并失败后进入黑名单,导致小文件不再继续合并;
历史数据流程导致小文件问题,这些数据一般是从别的数据库迁移过来,后续没有进行治理;
但是,不同的表格式的合并方式不同
本篇文章主要为读者介绍如何针对Holodesk表做合并。
背景介绍
Holodesk表与Torcdeltabase文件产生的条件不一样,其所有的写操作都会在底层写入一个新的文
件,而不是写入已有文件中。其中,insert操作生成新的base文件, update/delete操作生成新的delta
件。当进行频繁的小数据量的写入操作,会导致出现大量的 base/delta 文件,并且内容很少(KB
别),因此为了避免出现IO开销大,影响性能,内存占用高等一系列问题,小文件合并功能至关重要。
Holodesk表的合并由compact service组件执行,需要单独安装。
常见的小文件合并功能是通过计算引擎服务来执行 Compact 任务的,可能会占用部分计算资源。新推
出的Compact Service则在组件级别做了隔离,开启后不会影响到Quark的查询计算性能,合并效果更
好。
Compact类型
Holodesk中的Compact类型主要分为三类:minormajorfull
Minor
将一个base文件下的多个delta文件合并成一个新的delta文件,并apply到原有的base文件上:
命令:alter table <table_name> compact 'minor';
引入版本:2.1 作用域:sessionglobal
默认值:true 范围:truefalse
Major
将一个base文件和它的所有delta文件合并成一个新的base文件:
命令:alter table <table_name> compact 'major';
Full
将多个小的base文件合并成一个新的base文件,并且会一并删除delta文件:
命令:alter table <table_name> compact 'full';
执行方式
A. 同步compact(自动)
安装了compact service,且服务正常的话,compact的任务由compactservice来做。
默认是 compact‘full’,用户可以根据业务特点,自定义小文件自动合并策略,平衡小文件数量和合并开
销。
holodesk.compaction.trigger.enabled
用于控制是否通过Compact Service 服务执行 Compact 任务。若设置为 false,则由计算引擎服务执行
Compact 任务。
作用:Compact Service ArgoDB 上的小文件合并专用服务。设置该参数TRUE,能够通过 Compact
Service 进行小文件合并任务,小文件合并效果更好。
影响:设置该参数False,则通过计算引擎服务执行 Compact 任务,可能占用计算资源。
of 7
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜