在Doris中,分桶(Bucketing)是为了更好地管理和查询数据,将数据分成多个小的逻辑单元。分桶可以通过手动或自动的方式进行配置,每种方式各有其特点和适用场景。
Doris 支持两层的数据划分。第一层是分区(Partition),支持 Range 和 List 的划分方式。第二层是Bucket(Tablet),支持 Hash 和 Random 的划分方式。建表时如果不建立分区,此时 Doris会生成一个默认的分区,对用户是透明的。使用默认分区时,只支持 Bucket 划分。
在 Doris 的存储引擎中,用户数据被水平划分为若干个数据分片(Tablet,也称作数据分桶)。每个 Tablet 包含若干数据行。各个Tablet 之间的数据没有交集,并且在物理上是独立存储的。
多个 Tablet 在逻辑上归属于不同的分区(Partition)。一个 Tablet 只属于一个分区。而一个分区包含若干Tablet。因为 Tablet 在物理上是独立存储的,所以可以视为分区在物理上也是独立。Tablet是数据移动、复制等操作的最小物理存储单元。
若干个分区组成一个 Table。分区可以视为是逻辑上最小的