OLAP学习

news2024/10/5 17:21:50

OLAP又叫联机分析处理,联机分析处理(OLAP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的。

当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-linetransactionprocessing)、联机分析处理OLAP(On-LineAnalyticalProcessing)。

简单说下OLAP和OLTP的区别:

OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

OLAP软件是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。

OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是”维”这个概念。

“维”是人们观察客观世界的角度,是一种高层次的类型划分。“维”一般包含着层次关系,这种层次关系有时会相当复杂。通过把一个实体的多项重要的属性定义为多个维(dimension),使用户能对不同维上的数据进行比较。因此OLAP也可以说是多维数据分析工具的集合。

OLAP的基本多维分析操作有钻取(rollup和drilldown)、切片(slice)和切块(dice)、以及旋转(pivot)、drillacross、drillthrough等。

钻取是改变维的层次,变换分析的粒度。它包括向上钻取(rollup)和向下钻取(drilldown)。rollup是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而drilldown则相反,它从汇总数据深入到细节数据进行观察或增加新维。

切片和切块是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个,则是切块。

旋转是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。

联机分析处理的主要特点,是直接仿照用户的多角度思考模式,预先为用户组建多维的数据模型,在这里,维指的是用户的分析角度。例如对销售数据的分析,时间周期是一个维度,产品类别、分销渠道、地理分布、客户群类也分别是一个维度。一旦多维数据模型建立完成,用户可以快速地从各个分析角度获取数据,也能动态的在各个角度之间切换或者进行多角度综合分析,具有极大的分析灵活性。

数据仓库与OLAP的关系是互补的,现代OLAP系统一般以数据仓库作为基础,即从数据仓库中抽取详细数据的一个子集并经过必要的聚集存储到OLAP存储器中供前端分析工具读取

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

ROLAP

ROLAP将分析用的多维数据存储在关系数据库中并根据应用的需要有选择的定义一批实视图作为表也存储在关系数据库中。不必要将每一个SQL查询都作为实视图保存,只定义那些应用频率比较高、计算工作量比较大的查询作为实视图。对每个针对OLAP服务器的查询,优先利用已经计算好的实视图来生成查询结果以提高查询效率。同时用作ROLAP存储器的RDBMS也针对OLAP作相应的优化,比如并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、SQL的OLAP扩展(cube,rollup)等等。

MOLAP

MOLAP将OLAP分析所用到的多维数据物理上存储为多维数组的形式,形成“立方体”的结构。维的属性值被映射成多维数组的下标值或下标的范围,而总结数据作为多维数组的值存储在数组的单元中。由于MOLAP采用了新的存储结构,从物理层实现起,因此又称为物理OLAP;而ROLAP主要通过一些软件工具或中间软件实现,物理层仍采用关系数据库的存储结构,因此称为虚拟OLAP。

HOLAP

由于MOLAP和ROLAP有着各自的优点和缺点(如下表所示),且它们的结构迥然不同,这给分析人员设计OLAP结构提出了难题。为此一个新的OLAP结构——混合型OLAP(HOLAP)被提出,它能把MOLAP和ROLAP两种结构的优点结合起来。迄今为止,对HOLAP还没有一个正式的定义。但很明显,HOLAP结构不应该是MOLAP与ROLAP结构的简单组合,而是这两种结构技术优点的有机结合,能满足用户各种复杂的分析请求。

(1)切片和切块(Slice and Dice)

切片和切块是在维上做投影操作。

切片就是在多维数据上选定一个二维子集的操作,即在某两个维上取一定区间的维成员或全部维成员,而在其余的维上选定一个维成员的操作。

维是观察数据的角度,那么切片的作用或结果就是舍弃一些观察角度,使人们能在两个维上集中观察数据。因为人的空间想象能力毕竟有限,一般很难想象四维以上的空间结构,所以对于维数较多的多维数据空间,数据切片是十分有意义的.

(2)钻取(Drill)

钻取有向下钻取(Drill Down)和向上钻取(Drill up)操作。向下钻取是使用户在多层数据中展现渐增的细节层次,获得更多的细节性数据。向上钻取以渐增概括方式汇总数据(例如,从周到季度,再到年度)。

(3)旋转(Pivoting)

通过旋转可以得到不同视角的数据。旋转操作相当于在平面内将坐标轴旋转。例如,旋转可能包含了交换行和列,或是把某一个行维移到列维中去,或是把页面显示中的一个维和页面外的维进行交换(令其成为新的行或列中的一个)。

什么是OLAP?

在线分析处理 (Online Analytical Processing: OLAP)是一类允许用户同时分析来自多个数据库系统的信息的软件。它是一种使分析师能够从不同角度提取和查看业务数据的技术。

分析师经常需要对数据进行分组、聚合和连接。数据挖掘中的这些 OLAP 操作是资源密集型的。使用 OLAP 可以预先计算和预先聚合数据,从而加快分析速度。

OLAP 数据库被分成一个或多个多维数据集。多维数据集的设计方式使得创建和查看报告变得容易。OLAP 代表在线分析处理。

在本教程中,您将学习-

  • OLAP 多维数据集

  • OLAP的基本分析操作

  • OLAP 系统的类型

  • ROLAP

  • MOLAP

  • 混合OLAP

  • OLAP 的优势

  • OLAP 的缺点

OLAP 多维数据集:

OLAP 多维数据集

OLAP 概念的核心是 OLAP Cube。OLAP 多维数据集是一种为非常快速的数据分析而优化的数据结构。

OLAP Cube 由按维度分类的称为度量的数字事实组成。OLAP Cube 也称为超立方体

通常,数据操作和分析使用简单的电子表格进行,其中数据值以行列格式排列。这是二维数据的理想选择。但是,OLAP 包含多维数据,数据通常来自不同且不相关的来源。使用电子表格不是最佳选择。多维数据集可以逻辑有序地存储和分析多维数据。

它是如何工作的?

数据仓库将从多个数据源和格式(如文本文件、Excel 表格、多媒体文件等)中提取信息。

提取的数据被清理和转换。数据被加载到 OLAP 服务器(或 OLAP 多维数据集)中,在那里预先计算信息以供进一步分析。

OLAP的基本分析操作

分析 OLAP 操作的四种类型是:

  1. Roll-up (汇总)

  2. Drill-down (挖掘)

  3. Slice and dice (切片与切块)

  4. Pivot/rotate(透视/旋转)

1) 汇总:

汇总也称为“合并”或“聚合”。可以通过 2 种方式执行 Roll-up 操作

  1. 缩小尺寸

  2. 攀登概念层次结构。概念层次结构是根据事物的顺序或级别对事物进行分组的系统。

考虑下图

OLAP 中的汇总操作

  • 在此示例中,城市 New jersey 和 Lost Angles 并卷入美国国家/地区

  • 新泽西和洛杉矶的销售数字分别为 440 和 1560。上卷后变成 2000

  • 在这个聚合过程中,数据是位置层次结构,从城市向上移动到国家。

  • 在卷起过程中,至少需要去除一个或多个维度。在本例中,城市维度被删除。

2) 挖掘

在向下挖掘中,数据被分成更小的部分。它与汇总过程相反。它可以通过

  • 向下移动概念层次结构

  • 增加维度

OLAP 中的挖掘操作

考虑上图

  • 季度 Q1 向下挖掘到 1 月、2 月和 3 月。相应的销售额也是寄存器。

  • 在此示例中,添加了维度月份。

3)切片:

在这里,选择了一个维度,并创建了一个新的子立方体。

下图解释了切片操作是如何执行的:

OLAP 中的切片操作

  • 使用 Q1 作为过滤器对维度时间进行切片。

  • 一个新的立方体被完全创建。

切块:

此操作类似于切片。切割的不同之处在于您选择了 2 个或更多维度,从而创建了一个子立方体。

OLAP 中的切割操作

4) 透视

在透视中,您可以旋转数据轴以提供数据的替代表示。

在以下示例中,数据透视基于项目类型。

OLAP透视操作

OLAP 系统的类型

OLAP 层次结构

OLAP 系统的类型

ROLAP

ROLAP 处理存在于关系数据库中的数据。事实和维度表存储为关系表。它还允许对数据进行多维分析,是增长最快的 OLAP。

ROLAP模型的优点:

  • 数据效率高。它提供了高数据效率,因为查询性能和访问语言特别针对多维数据分析进行了优化。

  • 可扩展性。这种类型的 OLAP 系统为管理大量数据提供了可扩展性,甚至在数据稳定增加时也是如此。

ROLAP 模型的缺点:

  • 对资源的需求更高: ROLAP 需要对人力、软件和硬件资源的利用率高。

  • 汇总数据限制。ROLAP 工具使用 SQL 进行聚合数据的所有计算。但是,对于处理计算没有设置限制。

  • 查询性能慢。 与 MOLAP 相比,此模型中的查询性能较慢

MOLAP

MOLAP 使用基于数组的多维存储引擎来显示数据的多维视图。基本上,他们使用 OLAP 多维数据集。

混合OLAP

混合 OLAP 是 ROLAP 和 MOLAP 的混合。它提供了 MOLAP 的快速计算和 ROLAP 的更高可扩展性。HOLAP 使用两个数据库。

  1. 聚合或计算的数据存储在多维 OLAP 多维数据集中

  2. 详细信息存储在关系数据库中。

混合 OLAP 的好处:

  • 这种 OLAP 有助于节省磁盘空间,并且它也保持紧凑,这有助于避免与访问速度和便利性相关的问题。

  • 混合 HOLAP 使用多维数据集技术,可以为所有类型的数据提供更快的性能。

  • ROLAP 是即时更新的,HOLAP 用户可以访问这个实时即时更新的数据。MOLAP 带来了数据的清理和转换,从而提高了数据的相关性。这带来了两全其美。

混合OLAP的缺点:

  • 更高的复杂度 HOLAP 系统的主要缺点是它同时支持 ROLAP 和 MOLAP 工具和应用程序。因此,它非常复杂。

  • 潜在的重叠重叠的可能性更高,尤其是它们的功能。

OLAP 的优势

  • OLAP 是适用于所有类型业务的平台,包括计划、预算、报告和分析。

  • OLAP 多维数据集中的信息和计算是一致的。这是一个至关重要的好处。

  • 快速创建和分析“假设”场景

  • 轻松搜索 OLAP 数据库以获取广泛或特定的术语。

  • OLAP 为业务建模工具、数据挖掘工具、性能报告工具提供了构建块。

  • 允许用户按各种维度、度量和过滤器对立方体数据进行切片和切块。

  • 它有利于分析时间序列。

  • 使用 OLAP 可以轻松找到一些集群和异常值。

  • 它是一个强大的可视化在线分析过程系统,可提供更快的响应时间

OLAP 的缺点

  • OLAP 需要将数据组织成星型或雪花模式。这些模式实施和管理起来很复杂

  • 单个 OLAP 多维数据集中不能有大量维度

  • OLAP 系统无法访问事务数据。

  • OLAP 多维数据集中的任何修改都需要对多维数据集进行完整更新。这是一个耗时的过程

概括:

  • 数据仓库中的 OLAP 是一种使分析师能够从不同角度提取和查看业务数据的技术。

  • OLAP 概念的核心是一个 OLAP Cube。

  • 各种业务应用程序和其他数据操作都需要使用 OLAP Cube。

  • 数据仓库中有五种主要的分析型 OLAP 操作:1) 汇总 2) 挖掘 3) 切片 4) 切块和 5) 透视

  • 三种广泛使用的 OLAP 系统是 MOLAP、ROLAP 和混合 OLAP。

  • 桌面 OLAP、Web OLAP 和移动 OLAP 是其他一些类型的 OLAP 系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/950297.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

外观模式:简化复杂子系统的访问与使用

文章目录 1. 简介2. 外观模式的基本结构3. 外观模式的实现步骤4. 外观模式的应用与实例4.1 图形界面库的外观模式应用4.2 文件压缩与解压缩的外观模式应用4.3 订单处理系统的外观模式应用 5. 外观模式的优缺点5.1 优点5.2 缺点 6. 总结 1. 简介 外观模式是一种结构型设计模式&…

从过滤器初识责任链设计模式

下面用的过滤器都是注解方式 可以使用非注解方式,就是去web.xml配置映射关系 上面程序的执行输出是 再加一个过滤器 下面来看一段程序 输出结果 和过滤器是否非常相识 但是上面这段程序存在的问题:在编译阶段已经完全确定了调用关系,如果你想改变他们的调用顺序或者继续添加一…

基于MYSQL的主从同步和读写分离

目录 一.完成MySQL主从同步(一主两从) 1.主库配置 2.建立同步账号 3.锁表设置只读 4.备份数据库数据 5.主库备份数据上传到从库 6.从库上还原备份 7.解锁 8.从库上设定主从同步 9.启动从库同步开关 10.检查状态 二.基于MySQL一主两从配置&…

取数组中每个元素的最高位

1 题目 /*程序将一维数组a中N个元素的最高位取出,保存在一维数组b的对应位置。 程序运行结果为: a:82 756 71629 5 2034 b: 8 7 7 5 2 */ 2 思考 简单来说就是取一个数据的最高位。 一开始的笨方法没有办法判断数据的长度,后来…

nowcoder NC236题 最大差值

目录 题目描述: 示例1 示例2 题干解析: 暴力求解: 代码展示: 优化: 代码展示: 题目跳转https://www.nowcoder.com/practice/a01abbdc52ba4d5f8777fb5dae91b204?tpId128&tqId33768&ru/exa…

BFT最前线|AI透过胸片估测患者年龄,可揭示其患慢性病风险;中信建投:国产人形机器人核心零部件成本下行值得期待

文 | BFT机器人 AI视界 TECHNOLOGY NEWS 看点1 AI模拟芯片能效达传统芯片14倍 《自然》23日发表的研究报道了一种能效为传统数字计算机芯片14倍的人工智能(AI)模拟芯片。这一由IBM研究实验室开发的芯片在语音识别上的效率超过了通用处理器。该技术或能…

【java中的Set集合】HashSet、LinkedHashSet、TreeSet(最通俗易懂版!!)

目录 一、HashSet集合 1.HashSet集合的特点 2.HashSet常用方法 二、LinkedHashSet集合 LinkedHashSet集合的特点 三、TreeSet集合 1.TreeSet集合的特点 2.TreeSet的基本使用 四、HashSet、LinkedHashSet、TreeSet的使用场景 五、list和set集合的区别 一、HashSet集合 …

yolo增加mobileone

代码地址:GitHub - apple/ml-mobileone: This repository contains the official implementation of the research paper, "An Improved One millisecond Mobile Backbone". 论文地址:https://arxiv.org/abs/2206.04040 MobileOne出自Apple&am…

java八股文面试[数据库]——B树和B+树的区别

B树是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(logn)的时间复杂度进行查找、顺序读取、插入和删除等操作。 1、B树的特性 B树中允许一个结点中包含多个key,可以是3个、4个、5个甚至更多,并不确定,需要看具体的实…

VBA技术资料MF50:VBA_在Excel中突出显示前3个值

【分享成果,随喜正能量】人受到尊重,不是因为权钱,而是他骨子里透出的,正直与善良。。 我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高…

RabbitMQ工作模式-路由模式

官方文档参考:https://www.rabbitmq.com/tutorials/tutorial-four-python.html 使用direct类型的Exchange,发N条消息并使用不同的routingKey,消费者定义队列并将队列routingKey、Exchange绑定。此时使用direct模式Exchange必须要routingKey完成匹配的情况下消息才…

Node.js /webpack DAY6

一、Node.js 入门 1. 什么是 Node.js? 2. 什么是前端工程化? 3. Node.js 为何能执行 JS? 4. Node.js 安装 5. 使用 Node.js 总结 6. fs 模块 - 读写文件 /*** 目标:基于 fs 模块 读写文件内容* 1. 加载 fs 模块对象* 2. 写入文件…

Java并发(十五)----synchronized解决共享的问题

为了避免临界区的竞态条件发生,有多种手段可以达到目的。 阻塞式的解决方案:synchronized,Lock 非阻塞式的解决方案:原子变量 此次介绍使用阻塞式的解决方案:synchronized,来解决上述问题,即…

Ubuntu入门03——Ubuntu用户操作

1.Ubuntu如何进入root用户 进入ROOT用户的指令: Linux用su命令来切换用户: su root执行命令后,会提示你输入密码,而Ubuntu是没有设置root初始密码的。 若su命令不能切换root,提示su: Authentication failure&#x…

弹窗、抽屉、页面跳转区别 | web交互入门

当用户点击或触发浏览页面的某个操作,有很多web交互方式,可以大致分为弹窗、抽屉、跳转新页面三种web交互方式。虽然这三种web交互方式看起来没什么不同,但实际上弹窗、抽屉、跳转新页面对交互体验有蛮大的影响。 这需要UI\UX设计师针对不同…

【拾枝杂谈】从游戏开发的角度来谈谈原神4.0更新

君兮_的个人主页 勤时当勉励 岁月不待人 C/C 游戏开发 Hello,米娜桑们,这里是君兮_,结合最近的学习内容和以后自己的目标,今天又开了杂谈这个新坑,分享一下我在学习游戏开发的成长和自己的游戏理解,当然现在还是一枚…

Kotlin入门1. 语法基础

Kotlin入门1. 语法基础 一、简介二、在Idea创建一个示例项目三、基本语法1. 第一个程序2. 基本数据类型(1) 数字(2) 类型转换(3) 数学运算位运算 (4)可空类型 3. 函数4. 字符串(1) 字符串拼接(2) 字符串查找(3) 字符串替换(4) 字符串分割 5. null 安全的…

系统架构师---系统规划

目录 前言: 项目的提出与选择 项目立项的目标和动机 进行基础研究并获取技术 进行应用研发并获得产品 提供技术服务 信息技术产品的使用者 项目的选择和确定 选择有核心价值的产品、项目或可开发方向 评估项目风险、收益和代价 评估项目的多种实施方式 平…

HDFS文件删除后,HIVE元数据还存在的问题

一.背景 手动在hdfs上删除了一个表的分区数据(inc_day2023-08-30),当查询这个表这个分区的数据时报错文件不存在 二.原因 即HDFS数据删除了,但是hive metastore元数据却没有更新,使用show partitions tablename 发现该分区还存在 三.解决办法…