自学内容网 自学内容网

【大数据面试题】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 索引

官网描述

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


原文地址:https://blog.csdn.net/Jiweilai1/article/details/140391302

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!