【Doris 】Doris 分区与分桶

分区与分桶概述

分区与分桶秉承着"大而化小,分而治之"的目标,目的都是为了便于查询,提高查询的效率。

分区的定义: 对数据进行水平切分,水平切分之后数据是完全物理隔离的,每个分区即为一个物理文件夹。

比如一个网站每天的埋点行为日志数据量比较大,在查询时进行全表扫描耗费的资源非常多。那在这个情况大数据体量下,可以按照每天日期对数据表进行分区,不同日期的数据存放在不同的分区下,在查询时只要指定分区字段的值就可以直接从该分区查找。

分桶的定义: 对数据进行垂直切分,各个分桶相互独立,每个分桶即为一个文件。

比如我们按照name列分为4个桶,就是对name列值的hash值对4取摸,按照取模结果对数据分桶。如取模结果为0的数据记录存放到一个文件,取模为1的数据存放到一个文件,取模为2的数据存放到一个文件、取模为3的数据存放到一个文件。

从上面可见,分区注重粗粒度,而分桶注重细粒度。同时需要注意的是这存在一定的担忧:分区容易造成数据倾斜。

今天主要讲讲,Doris分区与分桶。

Doris支持两级分区存储, 第一层为 range 分区,也可支持list方式, 第二层为 hash分桶。

Drois分区

注意点

(1)分区列必须为key列。

(2)分区列可以指定一列或多列。

(3)不论分区列是什么类型,在写分区值时,都需要加双引号。

(4)add p

你可能感兴趣的:(【BigData】,数据库,大数据)