Doris 数据分布—Bucket(Tablet)

发布时间:2024年01月12日

Doris 数据分布—Bucket(Tablet)

分桶的意义在于极大减少了数据的扫描范围、提高了查询的效率*

在 Doris 的存储引擎中,用户数据被水平划分为若干个数据分片(Tablet,也称作数据分桶)。每个 Tablet 包含若干数据行。各个 Tablet 之间的数据没有交集,并且在物理上是独立存储的。

多个 Tablet 在逻辑上归属于不同的分区(Partition)。一个 Tablet 只属于一个 Partition。而一个 Partition 包含若干个 Tablet。因为 Tablet 在物理上是独立存储的,所以可以视为 Partition 在物理上也是独立。Tablet 是数据移动、复制等操作的最小物理存储单元。

若干个 Partition 组成一个 Table。Partition 可以视为是逻辑上最小的管理单元。数据的导入与删除,仅能针对一个 Partition 进行。

Bucket 的定义

在Doris 中我们通过 DISTRIBUTED BY 来指定分桶,其实这个和hive 的有点区别,在hive中我们是通过CLUSTERED BY 来指定

下面我们通过一个例子来看一下

-- Bucket 

CREATE TABLE IF NOT EXISTS example_db.example_range_tbl
(
    `user_id` LARGEINT NOT NULL COMMENT "用户id",
    `date` DATE NOT NULL COMMENT "数据灌入日期时间",
    `timestamp` DATETIME NOT NULL COMMENT "数据灌入的时间
文章来源:https://blog.csdn.net/king14bhhb/article/details/135554921
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。