熵简技术谈 | 实时OLAP引擎之Apache Druid:架构、原理和应用实践

在熵简数据智能解决方案中,其中离用户最近的一环,是利用数据中台对外提供的数据服务做数据分析。在金融、消费、工业等不同领域的场景中,数据分析的维度、方式、需求各不相同,不过其核心都离不开一个实时 OLAP 引擎,向用户实时提供各种维度和度量的上卷、下钻、切片、切块等类型的分析结果。本文以实时 OLAP 引擎的优秀代表 Druid 为研究对象,详细介绍 Druid 的架构思想和核心特性。在此基础上,我们介绍了熵简科技在数据智能分析场景下,针对私有化部署与实时响应优化的实践经验。作者信息本文出自熵.
摘要由CSDN通过智能技术生成

在熵简数据智能解决方案中,其中离用户最近的一环,是利用数据中台对外提供的数据服务做数据分析。在金融、消费、工业等不同领域的场景中,数据分析的维度、方式、需求各不相同,不过其核心都离不开一个实时 OLAP 引擎,向用户实时提供各种维度和度量的上卷、下钻、切片、切块等类型的分析结果。

本文以实时 OLAP 引擎的优秀代表 Druid 为研究对象,详细介绍 Druid 的架构思想和核心特性。在此基础上,我们介绍了熵简科技在数据智能分析场景下,针对私有化部署与实时响应优化的实践经验。

作者信息

本文出自熵简科技大数据团队,团队致力于构建高效率、低成本和低运维的大数据处理系统,为熵简科技应用层及中台层各项服务提供海量的算力支持,涵盖数据清洗、数据融合、数据核验、数据建模等多种处理能力。

1、实时OLAP引擎

在熵简数据智能解决方案中,其中离用户最近的一环,是利用数据中台对外提供的数据服务做数据分析。在金融、消费、工业等不同领域的场景中,数据分析的维度、方式、需求各不相同,不过其核心都离不开一个实时 OLAP 引擎,向用户实时提供各种维度和度量的上卷、下钻、切片、切块等类型的分析结果。OLAP 的全称是 On-Line Analytical Processing,它与 OLTP (On-Line Transaction Processing) 的核心区别在于OLAP更适合于读多写少、针对大数据量的分析场景。

在不考虑横向扩展且数据规模不大的情况下,使用传统的关系型数据库如 MySQL,对数据加了正确的索引后,是能部分满足小数据量下的分析需求的。但实际场景中随着公司业务增长迅速,数据量越来越大,RDS 在存储和算力上有明显瓶颈,传统的数据库解决方案针对实时 OLAP 这一场景就显得无能为力。

为了解决这一问题,出现了几类不同架构的 OLAP 解决方案,大致可以分为以 SparkSQL 为代表的基于 MR 架构的离线 OLAP 引擎,以 Druid 为代表的基于 MPP 架构的实时 OLAP 引擎,和以 Kylin 为代表的预计算引擎。几种常见的OLAP引擎对比如下:

相比而言,SparkSQL 基于可靠的分布式存储,通过 MapReduce 进行迭代计算来查询批量数据,更适合大型任务的运行,但在对任务响应时间和实时性有严格要求的需求方面并不擅长;Kylin 在执行查询之前需要预先建立 Cube,不太适合高度灵活的探索性数据分析;而 ElasticSeach 虽然也是基于 MPP 架构,但其建立的倒排索引更适合数据检索,对于需要数据聚合的亚秒级响应支持不佳。在接下来的内容里,我们将重点介绍 Apache Druid 的架构、原理和应用实践。

2、Apache Druid

2.1 核心特性

Apache Druid 是一个开源的分布式的支持实时分析和实时摄入的数据存储系统,天然为分析而生。其中的每个 Druid 进程都可以独立配置和扩展,在集群上提供最大的灵活性。这种设计还提供了增强的容错能力:一个组件的中断不会立即影响其他组件。Druid 之所以可以实现大数量下的实时 OLAP,是因为它有如下核心特性:

2.1.1 列式存储

列式存储意味着只需要根据指定查询加载指定列,避免加载一些不必要的数据,提高查询的速度。除此之外ÿ

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值