文档章节

了解OLAP概念

woshixin
 woshixin
发布于 07/22 12:38
字数 1334
阅读 5
收藏 0

        联机分析(OLAP)是由关系数据库之父E.F.Codd于1993年提出的一种数据动态分析模型,它允许以一种称为多维数据集的多维结构访问来自商业数据源的经过聚合和组织整理的数据。以此为标准,OLAP作为单独的一类产品同联机事务处理(OLTP)得以明显区分。

        OLAP最基本的概念其实只有三个:多维观察、数据钻取、CUBE运算,除此以外,OLAP通常包括的功能包括数据旋转、数据切片,以及对数据进行跨行列运算。

多维观察

        在平时工作中,会遇到各种问题,在分析问题的时候,同样的现象,我们会从多个角度去分析考虑,并且有时候我们还会从几个角度综合起来进行分析。这就是OLAP分析最基本的概念:从多个观察角度的灵活组合来观察数据,从而发现数据内在规律。https://zhuanlan.zhihu.com/p/38767561

数据钻取

        在分析过程中,我们可能需要在现有数据基础上,将数据进一步细化,以获得更为精确的认识。这就是OLAP中数据钻取的概念。

CUBE运算

        一个OLAP模型中,度量数据和维数据我们应该实现确定,一旦两者确定下来,那么我们可以对数据进行预先的处理,在正式发布之前,将数据根据维进行最大限度的聚类运算,运算中会考虑到各种维组合情况,运算结果将生成一个数据CUBE,并保存在服务器上。这样,当最终用户在调阅这个分析模型的时候,就可以直接使用这个CUBE,在此基础上根据用户的维选择和维组合进行复运算,从而达到实时响应的这么一个效果。

        OLAP系统按照其存储器的数据存储格式可以分为关系OLAP(RelationalOLAP,简称ROLAP)、多维OLAP(MultidimensionalOLAP,简称MOLAP)和混合型OLAP(HybridOLAP,简称HOLAP)三种类型。

图片来自:https://zhuanlan.zhihu.com/p/38767561

ROLAP

        ROLAP将分析用的多维数据存储在关系数据库中并根据应用的需要有选择的定义一批实视图作为表也存储在关系数据库中。不必要将每一个SQL查询都作为实视图保存,只定义那些应用频率比较高、计算工作量比较大的查询作为实视图。

MOLAP

        MOLAP将OLAP分析所用到的多维数据物理上存储为多维数组的形式,形成“立方体”的结构。维的属性值被映射成多维数组的下标值或下标的范围,而总结数据作为多维数组的值存储在数组的单元中。

HOLAP

        由于MOLAP和ROLAP有着各自的优点和缺点(如下表所示),且它们的结构迥然不同,这给分析人员设计OLAP结构提出了难题。为此一个新的OLAP结构——混合型OLAP(HOLAP)被提出,它能把MOLAP和ROLAP两种结构的优点结合起来。

这篇博客(图表来自)里面对不同的类型差异列了一个表格

 

优势

缺点

ROLAP

没有大小限制
现有的关系数据库的技术可以沿用.
可以通过SQL实现详细数据与概要数据的存储
现有关系型数据库已经对OLAP做了很多优化,包括并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、SQL 的OLAP扩展(cube,rollup)等大大提高ROALP的速度

一般比MDD响应速度慢
不支持有关预计算的读写操作
SQL无法完成部分计算
无法完成多行的计算
无法完成维之间的计算

MOLAP

性能好、响应速度快
专为OLAP所设计
支持高性能的决策支持计算
复杂的跨维计算
多用户的读写操作
行级的计算

增加系统复杂度,增加系统培训与维护费用
受操作系统平台中文件大小的限制,难以达到TB 级(只能10~20G)
需要进行预计算,可能导致数据爆炸
无法支持维的动态变化
缺乏数据模型和数据访问的标准

HOLAP

基于混合数据组织的OLAP实现,如低层是关系型的,高层是多维矩阵型的。这种方式具有更好的灵活。holap结构不应该是molap与rolap结构的简单组合,而是这两种结构技术优点的有机结合,能满足用户各种复杂的分析请求。

迄今为止,对holap还没有一个正式的定义

 

参考:

https://blog.csdn.net/dufufd/article/details/78621158

http://www.raincent.com/content-10-7923-1.html

https://zhuanlan.zhihu.com/p/38767561

© 著作权归作者所有

woshixin
粉丝 32
博文 367
码字总数 277803
作品 0
杭州
程序员
私信 提问
什么是联机分析处理(OLAP)

联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分...

永和
2014/04/13
186
1
数据库的OLTP和OLAP区别

上周末参加了开源中国沈阳区线下活动,其中巨杉数据库宣讲人讲解了巨杉数据库的技术架构,由于对数据库可能只停留在SQL优化等级别认知,听完巨杉演讲后也补充了一些技术名次和知识体系。 在演...

贾浩v
2017/10/25
69
0
扣丁学堂大数据学习入门资料及需要学习多久整理

  随着人工智能的兴起,大数据也慢慢进入人们的世界。这是互联网发展的时代,但也是大数据人才十分缺乏的时代。由于大数据是近几年来才不断被提及,数据分析等等不断被运用到企业之中,让企...

扣丁学堂
2018/06/13
0
0
数据仓库引擎--Mondrian

Mondrian是一个开源项目。一个用Java写成的OLAP(在线分析性处理)引擎。它用MDX语言实现查询,从关系数据库(RDBMS)中读取数据。然后经过Java API用多维的方式对结果进行展示。多维数据中,维...

匿名
2008/09/12
20.8K
0
HBase-Lattice

HBase-Lattice是一个尝试提供基于HBase的BI OLAP-ISH的解决方案,主要目标是查询时的实时SLAs,查询事实信息的低延迟(通过并行MapReduce的增量编译器来实现),强调时间序列的数据。 和OLA...

匿名
2011/12/14
2.5K
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部