【大数据面试题】37 Doris 是怎么保证性能的?

一步一个脚印,一天一道大数据面试题

博主希望能够得到大家的点赞收藏支持!非常感谢
点赞,收藏是情分,不点是本分。祝你身体健康,事事顺心!

Doris 是当下大热的 MPP 数据库,下面来聊聊它如何保证高性能 的部分
没写完,写的比较粗糙,但完成比完美重要,先发出来,明天再修改

1. MPP 大规模并行处理架构,容易算力拓展

生来就是分布式的架构,算力拓展很方便。不只是MPP数据库,这是大数据组件提高算力的经典方式,通过横向拓展更便宜的机器提高算力,可以有很高算力上限。

2. 数据模型进行预处理,提高速度减少存储压力

Doris 有 3 钟数据模型:明细模型 Duplicate,主键模型 Unique,聚合模型 Aggregate;
Aggregate 聚合模型,会将 key 列相同的数据,聚合 value 列(MAX, MIN, REPLACE等)。Unique 主键模型也是 key 列数据完全相同的数据,后来的数据会替换旧数据,以保证主键的唯一性。Duplicate 明细数据模型则是不做聚合。
可以看到,聚合,主键模型都会一定程度的聚合数据,减少存储压力。而这样的预处理,可以把一部分查询需要的任务提前, IO 提前,进而大幅度提高查询速度。

3. ROLLUP 和 物化视图,进一步预处理,提高查询速度

ROLLUP,物化视图,也是在数据加载完后自动开始预处理,聚合。这两个方法都是将 处理任务提前,并一定程度的空间换时间

4. 索引

  • 点查索引
    快速找到符合条件的数据
    • 前缀索引
      由于 Doris 存储数据的数据结构是 SST (Sort String Table) ,是一种排序的存储结构,所以数据的存储都会被排序(像我们的新华字典会按照首字母排序一样),所以可以取稀疏索引。前缀索引,就是利用排序后的数据,取一些字段做索引,每隔1024行取一行。
    • 倒排索引
      Elastic Search 的经典数据结构,在全文检索时非常好。
  • 跳数索引
    • ZoneMap 索引
      个人的理解就是会统计每一块的信息(最大最小值,是否有空值等)
    • Bloom Filter 索引
    • NGram Bloom Filter 索引

官网描述

我是近未来,祝你变得更强!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值