3.5.1 模型概述¶
本文档主要从逻辑层面,描述 Doris
的数据模型,以帮助用户更好的使用 Doris
应对不同的业务场景。
在 Doris
中,数据以表( Table
)的形式进行逻辑上的描述。一张表包括行( Row
)和列( Column
)。 Row
即用户的一行数据, Column
用于描述一行数据中不同的字段。
Column
可以分为两大类: Key
和 Value
。从业务角度看, Key
和 Value
可以分别对应维度列和指标列。 Doris
的 Key
列是建表语句中指定的列,建表语句中的关键字 unique key
或 aggregate key
或 duplicate key
后面的列就是 Key
列,除了 Key
列剩下的就是 Value
列。
Doris
的数据模型分为 3
类:
-
明细模型(
Duplicate Key Model
):允许指定的Key
列重复,Doirs
存储层保留所有写入的数据,适用于必须保留所有原始数据记录的情况。 -
主键模型(
Unique Key Model
):每一行的Key
值唯一,可确保给定的Key
列不会存在重复行,Doris
存储层对每个key
只保留最新写入的数据,适用于数据更新的情况。 -
聚合模型(
Aggregate Key Model
):可根据Key
列聚合数据,Doris
存储层保留聚合后的数据,从而可以减少存储空间和提升查询性能;通常用于需要汇总或聚合信息(如总数或平均值)的情况。