OLAP介绍

OLAP概念

OLAP(On-Line Analytical Processing)即联机分析处理,通过对数据大量分析,得出分析报告,提供决策支持,其侧重数据分析能力,比喻说用户行为分析。

与之对应的是OLTP(on-line transaction processing)即联机事务处理,也就是我们熟知的关系系数据处理,比喻说MySQL、Oracle等,用来记录某类业务发生的行为,其强调的是在线事务处理、小批量数据操作,比喻说银行交易、电商会员注册等。

OLAP/OLATP对比

082585f734a8e6d18f97931e316c1e1b.png

OLAP 功能型分类

ROLAP: 关系型OLAP

a7e1795e7b50a8819331673d70c33cb2.png

特点:基于原始数据灵活的查询分析,但是其性能差

代表:Hive、Spark、Impala、Presto、Clickhouse、Hologres

MOLAP: 多维型OLAP

3b2d76dce5ab2a6a1c409b48af44e0ef.png

特点:基于预聚合数据分析,性能高,灵活性差

代表:Kylin、Druid

HOLAP: 混合型OLAP

混合型OLAP同时具有ROLAP、MOLAP的特点,查询明细数据使用ROLAP,查询聚合数据使用MOLAP。

架构上分类

MPP架构

536a91dba8a6ea972e5f40095a67f7eb.png

MPP即大规模并行处理,也就是一种分布式并行处理的方式,将一个计算任务下发给不同的计算节点共同完成计算结果。对于MPP架构有以下几个特点:

1.并行计算(基于内存)

2.shard-nothing,无共享模式,即每个节点有自己CPU、Memory、DISK

批处理

批处理也是一种分布式并行计算框架,也就是我们所熟知的MapReduce、Hive、Spark等,与MPP相比:

1.MPP确定的计算必须要在确定的节点上,而批处理可以在任务节点上

2.MPP中间结果保存在缓存中,而批处理需要落入磁盘,因此其查询延时更高

3.MPP做横向扩展需要数据重分布,而批处理只需要增加计算并发即可,其横向扩展能力更强

MPP on Hadoop架构

由于MPP的计算能力与批处理架构的扩展能力,因此衍生了MPP on Hadoop架构,以impala、presto为代表。

ebdb3cf53feeb79158ed28f8fb731552.png

基于此架构,中间结果不写磁盘,极大降低了其查询延时,并且也可以通过横向扩展计算节点提升其计算能力。

OLAP 选择

在当前面对大数据量、低延时、灵活查询的场景下,没有一个OLAP引擎能够完全满足所有场景,需要根据特定的场景做tradeoff.

a13b67e4b9e11b15cd0f7738f0fb038c.png


26e8f0dedafcef46f093dcaef6db31d9.png

OLAP(联机分析处理)。 什么是联机分析处理(OLAP) 联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。 OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来。 当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP (On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。 OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。 下表列出了OLTP与OLAP之间的比较。 OLTPOLAP用户操作人员,低层管理人员决策人员,高级管理人员功能日常操作处理分析决策DB 设计面向应用面向主题数据当前的, 最新的细节的, 二维的分立的历史的, 聚集的, 多维的集成的, 统一的存取读/写数十条记录读上百万条记录工作单位简单的事务复杂的查询用户数上千个上百个DB 大小100MB-GB100GB-TB OLAP是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。 OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是"维"这个概念。 “维”是人们观察客观世界的角度,是一种高层次的类型划分。“维”一般包含着层次关系,这种层次关系有时会相当复杂。通过把一个实体的多 项重要的属性定义为多个维(dimension),使用户能对不同维上的数据进行比较。因此OLAP也可以说是多维数据分析工具的集合。 OLAP的基本多维分析操作有钻取(roll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)、drill across、drill through等。 ·钻取是改变维的层次,变换分析的粒度。它包括向上钻取(roll up)和向下钻取(drill down)。roll up是在某一维上将低层次的细节数据 概括到高层次的汇总数据,或者减少维数;而drill down则相反,它从汇总数据深入到细节数据进行观察或增加新维。 ·切片和切块是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个,则是切块。 ·旋转是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。 OLAP有多种实现方法,根据存储数据的方式不同可以分为ROLAP、MOLAP、HOLAP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值