吃透StarRocks分区、分桶

简述

在StarRocks中,表被划分成多个Tablet,多副本场景下,每个Tablet多副本冗余存储在BE(Backend)上。

对于单分区表、数据在逻辑上划分为多个桶(Bucket),每个桶的数据称之为一个Tablet。

如果设置为单分区单桶,那么无论数据量大小,都只会有一个Tablet,因为所有数据都属于同一个桶。

分区的作用

分区裁剪(查询性能优化)

分区裁剪可以最大限度地利用集群的并发性能,提升查询性能。如果查询条件与分区键相关,优化器会生成更优的逻辑计划,减少扫描的数据量。

设定存储策略

将一张表按照分区键拆分成不同的管理单元,针对每一个管理单元选择相应的存储策略,比如分桶数、冷热策略、存储介质、副本数等。

分桶的作用

在StarRocks中,分桶是实际物理文件组织的单元。所以同一副本同一个桶的数据肯定在同一个物理节点中。

数据分布均匀

分桶可以将数据均匀地分布到集群的不同节点上,避免数据倾斜,确保查询负载均衡。

查询优化

分桶可以提高查询效率,特别是在执行join操作时,如果两个表在相同的分桶键上进行了分桶,并且它们被指定在同一个Colocation Group中,那么在执行join操作时可以减少数据的shuffle,提高查询性能。

提高数据插入效率

分桶可以提高数据插入效率,因为数据可以并行地插入到不同的桶中,减少了单个节点的负载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值