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存储层保留聚合后的数据,从而可以减少存储空间和提升查询性能;通常用于需要汇总或聚合信息(如总数或平均值)的情况。