ArgoDB Holodesk表格式对应的小文件合并

背景介绍

Holodesk表与Torc表delta跟base文件产生的条件不一样,其所有的写操作都会在底层写入一个新的文件,而不是写入已有文件中。其中,insert操作生成新的base文件, update/delete操作生成新的delta文件。当进行频繁的小数据量的写入操作,会导致出现大量的 base/delta 文件,并且内容很少(KB 级别),因此为了避免出现IO开销大,影响性能,内存占用高等一系列问题,小文件合并功能至关重要。

Holodesk表的合并由compact service组件执行,需要单独安装。

常见的小文件合并功能是通过计算引擎服务来执行 Compact 任务的,可能会占用部分计算资源。新推出的Compact Service则在组件级别做了隔离,开启后不会影响到Quark的查询计算性能,合并效果更好。

Compact类型

Holodesk中的Compact类型主要分为三类:minor,major,full。

Minor

将一个base文件下的多个delta文件合并成一个新的delta文件,并apply到原有的base文件上:


命令:alter table <table_name> compact 'minor';

image.png

Major

将一个base文件和它的所有delta文件合并成一个新的base文件:


命令:alter table <table_name> compact 'major';

image.png

Full

将多个小的base文件合并成一个新的base文件,并且会一并删除delta文件:


命令:alter table <table_name> compact 'full';

image.png

执行方式

A. 同步compact(自动)

### holodesk 在 Inceptor 和 ArgoDB 中的差异 #### 定义与功能对比 holodesk 是一种优化的数据存储形,主要用于提高查询性能和减少数据冗余。在 StarRocks 的 Inceptor 和 ArgoDB 中,尽管两者都支持 holodesk 的概念,但在实现方和技术细节上存在一定的区别。 Inceptor 是一种交互分析引擎,其核心是一个 SQL 翻译器[^2],并集成了由星环科技自主研发的 SQL 编译器 (SQL 2003 Compiler)[^3]。这使得它能够高效处理复杂的 SQL 查询逻辑,并通过多种类型来满足不同业务需求。对于 holodesk ,在 Inceptor 中主要现为一种内存加速机制,允许将热数据加载到内存中以提升访问速度[^1]。 而在 ArgoDB 中,作为一款分布分析型数据库holodesk 的设计更倾向于利用列存技术的优势,提供更高的压缩率和更快的扫描效率。ArgoDB 对于 holodesk 的支持更加注重底层存储层的优化,尤其是在大规模数据分析场景下现出更强的能力。 #### 技术架构上的差异 从技术架构角度来看,Inceptor 更加关注实时性和灵活性,因此它的 holodesk 通常会结合缓存策略,动态调整哪些数据应该驻留在内存中。这种设计非常适合 OLAP 场景中的低延迟查询需求。 相比之下,ArgoDB 则强调稳定性和高吞吐量的现。它的 holodesk 更多依赖磁盘存储与高效的索引结构相结合的方工作,从而能够在批量计算任务中展现出卓越的性能现。 #### 使用场景的区别 由于上述特性决定,两者的适用范围也有所不同: - **Inceptor**: 面向需要快速响应的小规模在线分析应用,比如金融风控模型训练期间频繁读取少量热点记录的情况。 - **ArgoDB**: 更适合处理海量历史日志或者复杂报生成这类涉及大量冷数据的操作。 以下是两种环境下创建 holodesk 的一个简单示例代码片段: ```sql -- 创建 Holodesk - Inceptor 版本 CREATE TABLE IF NOT EXISTS my_holodesk_table_inceptor ( id INT, name STRING, value DOUBLE ) ENGINE=HoloDesk; -- 创建 Holodesk - ArgoDB 版本 CREATE TABLE IF NOT EXISTS my_holodesk_table_argodb ( id BIGINT, name VARCHAR(255), value FLOAT8 ) USING HoloDesk; ``` 以上展示了如何分别定义一张基于各自系统的 holodesk 类型表格
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值