目录
进入正文之前,欢迎订阅专题、对博文点赞、评论、收藏,关注IT贫道,获取高质量博客内容!
一、分桶Bucket
Doris数据表存储中,如果有分区,在插入数据时,数据会按照对应规则匹配写往对应的分区中,如果表除了有分区还有分桶,那么数据在写入某个分区后,还会根据分桶规则将数据写入不同的分桶(Tablet),目前分桶Bucekt目前仅支持Hash分桶,即根据对应列的hash值将数据划分成不同的分桶(Tablet)。
建议采用区分度大的列做分桶, 避免出现数据倾斜,为方便数据恢复, 建议单个 bucket 的 size 不要太大, 保持在 10GB 以内, 所以建表或增加 partition 时请合理考虑 bucket 数目, 其中不同 partition 可指定不同的 buckets 数。
建表时创建分桶表只需要在建表语句中加入distrubution_desc即可:
...
DISTRIBUTED BY HASH(`id`) BUCKETS 16
...

本文介绍了Apache Doris的分桶和分区概念,强调了分桶列选择的重要性,以及如何根据数据量和并发需求平衡查询性能。建议单个分桶大小不超过10GB,并提供分区和分桶数量的指导,包括根据集群规模和数据量预估 Tablet 数量,以优化查询效率和数据管理。
订阅专栏 解锁全文
2337

被折叠的 条评论
为什么被折叠?



