doris引擎介绍

背景:

在目前的MPPOLAP系统众多,比如Greenplum、Apache Impala、Presto、Doris、ClickHouse、Druid、TiDB等等,druid 虽然在不设置roll up 的情况下支持明细数据。但数据join 和性能都比较差。clickhouse 虽然在支持明细和汇总数据查询,但在集群扩展和数据join 的方面也比较弱。基于上面几个方面Doris 在兼容roll_up 的形式,也兼容了明细数据的join 查询。在数据应用方面有很大市场。

介绍:

Doris是基于MPP架构的OLAP引擎,主要整合了Google Mesa(数据模型)、Apache Impala(MPP Query Engine)和Apache ORCFile (存储格式,编码和压缩))的技术。
Doris的系统架构如下,主要分为FE和BE两个组件,FE主要负责查询的解析、编译、优化、调度和元数据管理;BE主要负责查询的执行和数据存储。关于Doris的更多技术细节,可参考其官方文档。原理和应用todo:

1、doris 的优势:
首先,Doris基于Google Mesa的数据模型,同时支持聚合和明细数据的表模型,结合rollup和物化视图的加速能力,使得我们在建模的时候比较灵活,可以把常用的查询模式以预计算的方式物化下来,提高查询速度,同时对于一些偏AdHoc的场景,基于明细数据的现场计算提供了较强的灵活性。

其次,Doris采用了Impala的MPP架构,这样能够很好的支持多表关联的场景,能够支持优选的电商、交易等复杂的多表关系模型。
最后,Doris能够同时满足离线和基于微批次的准实时数据导入,这不仅能够给我们提供多种数据时效性支持的选择,也可以在准实时场景使用D2D替代FlinkAPI计算,显著提升研发效率。

2、doris 的优化手段
1)、数据量太多的问题在HIVE进行预聚合,提升查询性能。
2)、模型设计问题我们在非精确场景使用HLL替代BIMAP的方案或优化索引提升查询命中率等手段提升查询性能。
3)、针对(多张表关联的场景(超过5张))SQL大查询的问题我们采用模型适度冗余维度的方案,减少查询数据表的数量,提升查询性能。
4):其他方面:并发太高的问题我们通过减少无效查询、页面懒加载、ETL错峰执行、服务层加缓存等手段进行优化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值