大数据--数据仓库6--doris深入总结

本文深入探讨了Doris的角色、关键特性,包括分区和分桶、Rollup概念及其作用,以及前缀索引。Doris支持MySQL协议,采用列式存储和MPP查询引擎,提供高效的数据分析能力。数据模型包括Aggregate、Uniq和Duplicate,各具特点,适合不同场景。文章还对比了Doris与MySQL的区别,并总结了Doris在大数据处理中的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一:doris角色

二:doris关键特性

三:分区和分桶

四:rollup

4.1作用:

4.2 概念:

4.3 rollup说明

五:前缀索引

六:数据模型

6.1 aggregate聚合模型

6.1.1 导入数据聚合

6.1.2 保留明细数据

6.2.3 导入数据与已有数据聚合

6.1.4 局限性

6.2 uniq主键模型

6.3 duplicate明细模型

6.4 数据模型的选择建议

七.mysql和doris区别

八:总结


一:doris角色

二:doris关键特性

  • 支持mysql协议
  • 按key排序
  • 在线表结构变更
  • 两层分区。分区:range partition; 分桶 hash bucket 
  • mpp查询引擎:基于impala
  • 列式存储:按列存储,高压缩比,多种索引
  • 高基数精准去重
  • 元数据全内存访问,快速访问
  • 高度内聚,不依赖第三方系统

三:分区和分桶

1)一个表的tablet总数量等于(partition num * bucket num)

2)一个表的tablet数量,在不考虑扩容的情况下,推荐略多余整个集群的磁盘数量

3)单个tablet的数据量理论上没有上下界,但建议在1g--10g的范围内。

如果单个tablet数据量过小,则数据的聚合效果不佳,且元数据管理压力大。

如果数据量过大,则不利于副本的迁移,补齐。

在建表的时候,每个分区的bucket数量统一指定,但是在动态增加分区的时候(add partition),可以单独指定新分区的bucket数量。可以利用这个功能方便的应对数据缩小或者膨胀。

四:rollup

    rollup在多维分析中是“上卷”的意思,即将数据按照某种指定的粒度进行进一步聚合。

4.1作用:

  • 物化索引
  • 更粗粒度的聚合数据

4.2 概念:

  • 在Doris中,我们将用户通过建表语句创建出来的表称为base表(base table)。base表中保存中按用户建表语句指定的方式存储的基础数据。
  • 在base表之上,我们可以创建任意多个rollup表。这些rollup的数据是基于base表产生的,并且在物理存储是独立存储的。rollup表的基本作用,在于base表的基础上,获得更粗粒度的聚合数据。

4.3 rollup说明

1)ROLLUP 最根本的作用是提高某些查询的查询效率(无论是通过聚合来减少数据量,还是修改列顺序以匹配前缀索引)。因此 ROLLUP 的含义已经超出了 “上卷” 的范围。这也是为什么我们在源代码中,将其命名为 Materized Index(物化索引)的原因。

2)ROLLUP 是附属于 Base 表的,可以看做是 Base 表的一种辅助数据结构。用户可以在 Base 表的基础上,创建或删除 ROLLUP,但是不能在查询中显式的指定查询某 ROLLUP。是否命中 ROLLUP 完全由 Doris 系统自动决定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值