高级使用指南
在本章节中,我们将罗列 Doris 一些常用的高级特性,帮助用户对 Doris 有一个更全面的了解。
部分特性的具体使用说明,我们会在单独的章节中介绍。
关系表和分区分桶
在 Doris 中,用户数据是以二维关系表的方式存储的。并且基于 Doris 的 Shard-Nothing 分布式架构,一张表的数据会根据用户指定的分区和分桶方式,水平切分成多个数据分片(Tablet),存储在不同节点上。
数据模型
Doris 的一大特点之一是同时支持快速的明细数据查询和聚合数据查询。用户可以在建表时指定表的数据模型,以适应不同的应用场景。
Doris 目前支持三种数据模型,分别是:1)Duplicate 明细模型。2)Aggregate 聚合模型。3)Unique 主键唯一模型。
物化视图
物化视图是一种以空间换时间的数据分析加速技术。Doris 支持在基础表之上建立物化视图。比如可以在明细数据模型的表上建立基于部分列的聚合视图,这样可以同时满足对明细数据和聚合数据的快速查询。
同时,Doris 能够自动保证物化视图和基础表的数据一致性,并且在查询时自动匹配合适的物化视图,极大降低用户的数据维护成本,为用户提供一个一致且透明的查询加速体验。
表结构变更
Doris 支持在线的表结构变更操作。这些操作包括增加、删除、重排列,修改列类型,添加、删除分区,重命名库、表、分区等。所有这些操作都不会影响当前正在执行的导入或查询操作,保证用户能够在生产环境中平滑的进行表结构的变更。
多种导入方式
在 基础使用指南 中,我们介绍了如何导入存储在 BOS 上的数据。Doris 本身还支持多种导入方式,如通过 HTTP 协议进行本地数据的导入,或者通过 Routine Load 功能订阅 Kafka 中的消息。也可以通过 INSERT 语句直接进行近实时的数据导入。
数据删除和更新
Doris 支持通过两种方式对已导入的数据进行删除。一种是通过 DELETE FROM 语句,指定 WHERE 条件对数据进行删除。这种方式比较通用,适合频率较低的定时删除任务。
另一种删除方式仅针对 Unique 主键唯一模型,通过导入数据的方式将需要删除的主键行数据进行导入。Doris 内部会通过删除标记位对数据进行最终的物理删除。这种删除方式适合以实时的方式对数据进行删除。