doris----数据表设计

Doris中的表由行和列构成,key列在聚合表模型中用于聚合和排序,而分区(Partition)是按行逻辑划分,支持Range和List分区方式。分桶(Bucket,又称tablet)是物理上的行划分,影响数据分布和查询性能。不同分区和分桶策略适应不同的查询场景,如大吞吐低并发或高并发点查询。
摘要由CSDN通过智能技术生成

数据表设计

表的基本概念

Row & Column

一张表包括行(Row)和列(Column);
Row 即用户的一行数据。Column 用于描述一行数据中不同的字段。 
doris中的列分为两类:key列和value列
key列在doris中有两种作用:
聚合表模型中,key是聚合和排序的依据
其他表模型中,key是排序依据

分区与分桶

- partition(分区):是在逻辑上将一张表按行(横向)划分
- tablet(又叫bucket,分桶):在物理上对一个分区再按行(横向)划分

在这里插入图片描述

Partition

- Partition 列可以指定一列或多列,在聚合模型中,分区列必须为 KEY 列。
- 不论分区列是什么类型,在写分区值时,都需要加双引号。
- 分区数量理论上没有上限。
- 当不使用 Partition 建表时,系统会自动生成一个和表名同名的,全值范围的 Partition。该 Partition 对用户不可见,并且不可删改。
- 创建分区时不可添加范围重叠的分区。

Range 分区

在这里插入图片描述

List 分区

- 分区列支持 BOOLEAN, TINYINT, SMALLINT, INT, BIGINT, LARGEINT, DATE, DATETIME, CHAR, VARCHAR 数据类型,分区值为枚举值。只有当数据为目标分区枚举值其中之一时,才可以命中分区。
- Partition 支持通过 VALUES IN (...) 来指定每个分区包含的枚举值。
- 下面通过示例说明,进行分区的增删操作时,分区的变化

Bucket

1.选择多个分桶列,则数据分布更均匀---------->
适合大吞吐低并发的查询场景

2.仅选择一个或少数分列桶列-------------->
适合高并发的点查询场景

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值