数据模型、ROLLUP及前缀索引
作者:互联网
数据模型、ROLLUP及前缀索引
基本概念
- 一张表包括行(Row)和列(Column).Row即用户的一行数据.Column用于描述一行数据中不同的字段.
- Column可以分为两大类:Key和Value.从业务角度看,Key和Value可以分为对应维度列和指标列.
- Doris的数据模型主要分为三类:
- Aggregate
- Uniq
- Duplicate
Aggregate模型
当导入数据时,对于Key列相同的行会聚合成一行,而Value列会按照设置的AggregationType进行聚合.AggregationType目前有以下四种聚合方式:
- SUM:求和
- REPLACE:替代
- MAX:保留最大值
- MIN:保留最小值
数据的聚合,在Doris中有如下三阶段发生:
- 每一批次数据导入的ETL阶段,该阶段会在每一个批次导入的数据内部进行聚合.
- 底层BE进行数据Compaction的阶段.该阶段,BE会对已导入的不同批次的数据进行进一步的聚合.
- 数据查询阶段.在数据查询时,对于查询涉及到的数据,会进行对应的聚合.
Uniq模型
Uniq模型完全可以用聚合模型中的REPLACE方式替换,其内部实现方式和数据存储方式也完全一样.
Duplicate模型
Duplicate模型区别于Aggregate和Uniq模型.数据完全按照导入文件中的数据进行存储,不会有任何聚合.即使两行数据完全相同,也都会保留.而在建表语句中指定DUPLICATE KEY,只是用来指明底层数据按照那些列进行排序.
标签:聚合,前缀,模型,ROLLUP,导入,Uniq,数据,数据模型 来源: https://blog.csdn.net/huikougai2799/article/details/123048048