前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OLAP | 基础知识梳理

OLAP | 基础知识梳理

作者头像
数据仓库践行者
发布2021-12-27 08:45:08
1.5K0
发布2021-12-27 08:45:08
举报
文章被收录于专栏:数据仓库践行者

还是得自己整理,梳理一遍后,清晰多了

OLAP(Online AnalyticalProcessing)是一种数据处理技术,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持。

OLAP是数据仓库对外数据能力的一种重要的输出方式:

OLAP的起源

60年代,关系数据库之父Edgar F. Codd提出了关系模型,促进了联机事务处理OLTP( On-line Transaction Processing)的发展(数据以表格的形式而非文件方式存储)。

1993年,OLAP由被称为“关系数据库之父”的Edgar F. Codd在他的白皮书《Providing OLAP to User-Analysts: An IT Mandate》中首次提出。

他认为OLTP已不能满足终端用户对数据库查询分析的需要,SQL对大型数据库进行的简单查询也不能满足终端用户分析的要求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。

因此,E.F.Codd提出了多维数据库和多维分析的概念,即OLAP。

他为OLAP产品建立了12条评估规则:

OLAP的发展历史

到现在为止,OLAP技术发展了20多年,正处于群雄逐鹿阶段,不知道未来有没有一统江湖的完美技术出现。

传统OLAP

根据Codd的关于OLAP的十二条准则,OLAP技术有了很大的发展,市场上的各种OLAP产品层出不穷。虽然OLAP的概念是在1993年才提出来的,但是支持OLAP相关产品的发展历史,最早可追溯到1975年:

1989年,SQL语言标准诞生,它可以从关系数据库中提取和处理业务数据。这可能是个转折点。在1980‘s年代,电子表格在OLAP应用中占绝对主导地位;而1990’s年代以后,越来越多的基于数据库的OLAP应用开始出现:

大数据OLAP

大数据方向OLAP相关技术的发展:

OLAP的基本内容

变量(度量)

变量是数据度量的指标,是数据的实际意义,即描述数据“是什么”。比如:人数。

维度

维度是描述与业务主题相关的一组属性,单个属性或属性集合可以构成一个维。比如:学历、民族、性别等都是维度。

维的层次

一个维往往可以具有多个层次,例如时间维度分为年、季度、月和日等层次,地区维可以是国家、地区、省、市等层次。这里的层次表示数据细化程度,对应概念分层。

维的成员

若维是多层次的,则不同的层次的取值构成一个维成员。部分维层次同样可以构成维成员,例如“某年某季度”、“某季某月”等都可以是时间维的成员。

多维数组

多维数组用维和度量的组合表示。一个多维数组可以表示为(维1,维2,……,维n,变量),例如(部门,职系、民族、性别,人数)组成一个多维数组。

数据单元(单元格)

多维数组的取值。当多维数组中每个维都有确定的取值时,就唯一确定一个变量的值。数据单元可以表示为(维1成员,维2成员,……,维N成员,变量的值),例如(人事教育部,技能,回族,男,1人)表示一个数据单元,表示人事教育部职系是技能的回族男性有1人。

事实

事实是不同维度在某一取值下的度量,例如上述人事教育部职系是技能的回族男性有1人就表示在部门、职系、民族、性别四个维度上企业人数的事实度量,并且在为人数事实中包含部门维度人事教育部这一个维度层次,如果将人数事实的所有维度考虑在内,就构成有关人数的多维分析立方体。

OLAP的特点

电子数据表与OLAP相比,不具备OLAP的多维性、层次、维度计算以及结构与视图分离等特点。

快速

终端用户对于系统的快速响应有很高的要求。调查表明如果用户在30秒内得不到回应,就会变得不耐烦。因此OLAP平台用了多种技术提高响应速度,例如专门的数据存储格式、大量的预处理和特殊的硬件设计等,通过减小在线分析处理的动态计算,事先存储OLAP所需粒度的数据等主要手段来获得OLAP响应速度的提高,尽管如此,查询反应慢仍然是OLAP产品中经常被提及的问题。

可分析

用户可以应用OLAP平台分析数据,也可以使用其他外部分析工具,例如电子数据表,这些分析工具基本上都以直观的方式为用户提供了分析功能。

共享

由于人们认为OLAP是只读的,仅需要简单的安全管理,导致目前许多OLAP产品在安全共享方面还存在许多问题。因此当多个用户访问OLAP服务器时,系统就在适当的粒度上加锁。

多维

维是OLAP的核心概念,多维性是OLAP的关键属性,这与数据仓库的多维数据组织正好相互补充。为了使用户能够从多个维度、多个数据粒度查看数据,了解数据蕴含的信息,系统需要提供对数据的多维分析功能,包括切片、旋转和钻取等多种操作

OLAP常见操作

OLAP的多维分析操作包括:钻取(Drill-down)、上卷(Roll-up)、切片(Slice)、切块(Dice)以及旋转(Pivot)、钻过(drill-across)、钻透(drill-through)

立方体的每个单元,存放一个聚合值。

  • 钻过(drill-across):钻过操作涉及多个事实表的查询并把结果合并为单个数据集。一个典型的例子就是预测数据与当前数据的结合:通常预测数据与当前数据存在于不同的表中,当用户比较预测销售与当月销售时,需要跨多个事实表查询。
  • 钻透(drill-through):钻透使用关系SQL,查询数据立方体的底层,一直到后端的关系表。

OLAP的分类

按建模类型分类

一般来说OLAP根据建模方式可分为MOLAP、ROLAP和HOLAP 3种主流类型,另外还有混合事务/分析处理(HTAP)、网络OLAP(WOLAP),桌面OLAP(DOLAP),移动OLAP(MOLAP)和空间OLAP(SOLAP)。

按处理数据量分类

工作中的实际情况是:几种数据引擎混合用,互相补充。

比如离线处理会先用hive或者sparksql跑出数据,对于数据量比较大的,先做一些汇总,再导入clickhouse等数据库,做自助分析。还有个别数据量大,clickhouse不能很好支持,但又需要临时摸底看数时,就要通过spark sql取数,这个就是数仓开发经常处理的临时提数任务。

按功能分类

OLAP系统核心技术点

参考:

http://olap.com/learn-bi-olap/olap-business-intelligence-history/

https://cn.kyligence.io/blog/olap-core-tech/

https://segmentfault.com/a/1190000040428093

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据仓库践行者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • OLAP的起源
  • OLAP的发展历史
    • 传统OLAP
      • 大数据OLAP
      • OLAP的基本内容
        • 变量(度量)
          • 维度
            • 维的层次
              • 多维数组
                • 数据单元(单元格)
                  • 事实
                  • OLAP的特点
                    • 快速
                      • 可分析
                        • 共享
                          • 多维
                          • OLAP常见操作
                            • 按建模类型分类
                              • 按处理数据量分类
                                • 按功能分类
                                • OLAP系统核心技术点
                                相关产品与服务
                                数据库
                                云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档