跳转至

3.5.1 模型概述

本文档主要从逻辑层面,描述 Doris 的数据模型,以帮助用户更好的使用 Doris 应对不同的业务场景。

Doris 中,数据以表( Table )的形式进行逻辑上的描述。一张表包括行( Row )和列( Column )。 Row 即用户的一行数据, Column 用于描述一行数据中不同的字段。

Column 可以分为两大类: KeyValue 。从业务角度看, KeyValue 可以分别对应维度列和指标列。 DorisKey 列是建表语句中指定的列,建表语句中的关键字 unique keyaggregate keyduplicate key 后面的列就是 Key 列,除了 Key 列剩下的就是 Value 列。

Doris 的数据模型分为 3 类:

  • 明细模型( Duplicate Key Model ):允许指定的 Key 列重复, Doirs 存储层保留所有写入的数据,适用于必须保留所有原始数据记录的情况。

  • 主键模型( Unique Key Model ):每一行的 Key 值唯一,可确保给定的 Key 列不会存在重复行, Doris 存储层对每个 key 只保留最新写入的数据,适用于数据更新的情况。

  • 聚合模型( Aggregate Key Model ):可根据 Key 列聚合数据, Doris 存储层保留聚合后的数据,从而可以减少存储空间和提升查询性能;通常用于需要汇总或聚合信息(如总数或平均值)的情况。