联机分析处理

✍ dations ◷ 2025-10-24 21:39:56 #联机分析处理

联机分析处理(英语:Online analytical processing),简称OLAP (/ˈoʊlæp/),是计算机技术中快速解决多维分析问题(英语:multi-dimensional analytical)(MDA)的一种方法。 OLAP是更广泛的商业智能范畴的一部分,它还包括关系数据库、报告编写和数据挖掘。 OLAP的典型应用包括销售业务报告(英语:business reporting)、市场营销、管理报告、业务流程管理(BPM)、预算和预测、财务报表以及类似领域,新的应用正在出现,如农业。 术语“OLAP”是对传统数据库术语“联机事务处理”(OLTP)稍微修改而成的。

OLAP工具让用户能够从多个角度交互地分析多维数据。OLAP由三个基本的分析操作组成:上卷(roll-up)、钻取(drill-down)、切片(slicing)和切块(dicing)。:402-403 上卷涉及可以在一个或多个维度中累积和计算的数据的聚合。例如,所有的销售办事处汇总到销售部门,以预测销售趋势。相比之下,钻取是一种允许用户浏览详细信息的技术。例如,用户可以查看组成一个地区销售额的单个产品的销售额。切片和切块是说,用户可以从OLAP多维数据集中取出(切片)一组特定的数据,并从不同的角度查看(切块)切片。这些角度有时被称为维度(例如按销售人员、按日期、按客户、按产品或按地区查看相同的销售情况等)。

为OLAP配置的数据库使用多维数据模型,允许快速执行复杂的分析查询和即席查询。 它们借鉴了导航型数据库(英语:navigational database)、层次型数据库和关系型数据库的各个方面。

OLAP通常与OLTP(联机事务处理)形成对比,OLTP的特点是查询的复杂性要小得多,而且查询量要大得多,以处理事务,而不是用于商业智能或报告。OLAP系统主要针对读取进行优化,而OLTP得能处理各种查询(读取、插入、更新和删除)。

OLAP系统的核心是一个OLAP多维数据集(英语:OLAP cube)。它由称为度量的数字事实组成,这些数字事实按维度进行分类。这些度量被放置在超立方体的交点处。操作一个OLAP多维数据集的通常接口是一个矩阵接口,就像电子表格程序中的数据透视表一样,它沿着维度执行投影操作,例如聚合或求平均值。

多维数据集元数据通常是从关系数据库中的表的星型模式(英语:star schema)、雪花型模式(英语:snowflake schema)或事实星座(英语:fact constellation)中创建的。度量来自事实表(英语:fact table)中的记录,维度来自维度表(英语:dimension table)。

可以认为每个度量都有一组标签,或者与之关联的元数据。维度是描述这些标签的东西; 它提供有关度量的信息。

举一个简单地多维数据集的例子,商店的销售额作为度量,日期/时间作为维度。每个销售都有一个日期/时间标签,描述更多关于该销售的信息。

如下所示:

 Sales Fact Table+-------------+----------+| sale_amount | time_id  |+-------------+----------+            Time Dimension|      2008.10|     1234 |----+     +---------+-------------------++-------------+----------+    |     | time_id | timestamp         |                              |     +---------+-------------------+                              +---->|   1234  | 20080902 12:35:43 |                                    +---------+-------------------+

多维数据库

多维结构被定义为“使用多维结构组织数据并表达数据之间关系的关系模型的变体”。:177 该结构被分解成多个超立方体,并且在每个超立方体的范围内都能存储和访问数据。“多维结构中的每个单元都包含与其维度上的元素相关的聚合数据”。:178 即使对数据进行操作,也很容易访问并继续构成一种紧凑的数据库格式。数据仍然是相互关联的。对于使用OLAP应用程序的分析数据库,多维结构非常流行。 分析型数据库使用这些数据库,是因为它们能够快速地为复杂的业务查询提供答案。可以从不同的角度查看数据,这与其他模型不同,为问题提供了更广阔的视角。

据称,对于复杂查询,OLAP多维数据集可以在大约0.1%的时间内生成对OLTP关系数据的相同查询所需的答案。 OLAP中允许其实现此类性能的最重要机制是使用聚合。聚合是通过更改特定维度的粒度并使用聚合函数沿着这些维度聚合数据,从事实表构建的。可能聚合的数量由每个可能的维度粒度组合决定。

所有可能的聚合和基础数据的组合包含可以从数据应答的每个查询的答案。

因为通常有许多可以计算的聚合,所以通常只有预先确定的数字被完全计算; 其余的则根据需要求解。决定要计算哪些聚合(视图)的问题称为视图选择问题。视图选择可以受到所选聚合集的总大小、根据基础数据的更改更新它们的时间的限制,或者同时受两者的限制。视图选择的目标通常是最小化进行OLAP查询的平均时间,尽管一些研究也最小化了更新时间。视图选择是NP完全问题。这个问题已经被探索了许多方法,包括贪心算法、随机搜索、遗传算法和A*搜索算法。

对于整个OLAP多维数据集,可以通过预先计算每个单元的值来计算一些聚合函数,然后通过聚合这些聚合来计算单元汇总的聚合,并对多维问题应用分治法来有效地计算这些聚合。 例如,所有的总和就是每个单元的子和的总和。可以这样分解的函数称为可分解聚合函数,包括COUNT、MAX、MINSUM,这些函数可以为每个单元计算,然后直接聚合;这些函数称为自可分解聚合函数。 在其他情况下,聚合函数可以通过计算单元的辅助数,聚合这些辅助数,最后计算最后的总数来计算;例子有AVERAGE(跟踪和与数量,最后再做除法)和RANGE(跟踪最大值和最小值,最后再相减)。在其他情况下,如果不立即分析整个集合,就无法计算聚合函数,尽管在某些情况下可以计算近似值;例如DISTINCT COUNT、MEDIANMODE;例如,集合的中位数不等于子集的中位数。后者很难在OLAP中有效地实现,因为它们需要在基础数据上计算聚合函数,或者在线(慢)计算它们,或者为可能的展开(大空间)进行预计算。


相关

  • 链球菌等链球菌(学名:Streptococcus)是一类球形的革兰氏阳性细菌,属于厚壁菌门的一个属。这些细菌细胞分裂时总是沿一个轴,所以通常成对或者链状的。因为这些特征,他们被称作“链球菌”,
  • 三读通过三读 (Reading) 是立法机关的一种立法程序,产生于英国西敏制的政治制度,主要是在通过一项法案或拒绝通过法案前,需要多次宣读法案条文而得名。在该程序中,立法代表及政府代表会
  • AirplayAirPlay(简称AP,中文名称:飞乐)是一款小巧的免费音频播放器,作者为樊一鹏,另由 Eric Yao 负责对外联系与推广。AirPlay功能包括界面全部是用C++混合汇编代码编写。AirPlay的外观吸
  • 培根堡培根堡(英文:Bacon's Castle),又称艾伦砖屋(Allen's Brick House)或亚瑟·艾伦宅邸(Arthur Allen House),是一座位于美国弗吉尼亚州萨里县的历史建筑。培根堡建于1665年,是迄今弗吉尼
  • 峨螺科见内文峨螺科(学名:Buccinidae)是新腹足目之下一个物种非常丰富、分布范围极广的科。本科共有超过1500个不同物种,当中绝大多数均生活在海洋里,但有8到10个物种在淡水生活。部分
  • 俺干掉了蕾丝边老婆,把这娘们吊在了肉钩子上,于是俺现在跟迪士尼签了三部电影的合约啦《俺干掉了蕾丝边老婆,把这娘们吊在了肉钩子上,于是俺现在跟迪士尼签了三部电影的合约啦》(英语:)是由本·阿弗莱克执导、卡马拉·洛佩兹和杰伊·拉科波编写的1993年的短喜剧电影
  • 元素精灵元素精灵(Elemental)是最先由帕拉塞尔斯在关于炼金术的著作中提出的概念,将世界分为四种元素与其主掌精灵的组成,共有以下四种:关于四元素精灵的说法其实略有不同,以上是最通行的
  • 黄笑生黄笑生,是一位美国华人作家和律师。先后毕业于上海华东师范大学、外交学院国际法系、复旦大学和美国圣母大学法学院。1990年当选上海市普陀区人大代表。2002年取得纽约州律师
  • 埃德加·瓦雷兹埃德加·维克多·阿西尔·夏尔·瓦雷兹(法文:Edgard Victor Achille Charles Varèse,1883年12月22日-1965年11月6日),法裔美国人,作曲家。早年在巴黎师从丹第,维多尔和鲁塞尔学习,19
  • 深尾吉英深尾吉英(1949年7月1日-)是一名日本前排球运动员。他在1972年夏季奥林匹克运动会中,参加了男子排球比赛并获得金牌。他也参加了1970年和1974年亚洲运动会,均获得金牌。