olap技术核心是什么

电子常识

2640人已加入

描述

  什么是olap技术

  联机实时分析(OnlineAnalytical Processing, OLAP (/ˈoʊlæp/))技术是快速响应多维分(Multidimensionalanalysis, MDA)的一种解决方案。

  首先,解释下什么是多维分析:多维分析是一种数据分析过程,在此过程中,将数据分成两类:维度(dimensions)和度量(metrics/measurements)。维度和度量的概念都出自于图论(graph theory),维度指能够描述某个空间中所有点的最少坐标(coordinate)数,即空间基数;度量指的是无向图中顶点(vertices)间的距离。在多维分析领域,维度一般包括字段值为字符类或者字段基数值较少且作为约束条件的离散数值类型;而度量一般包括基数值较大且可以参与运算的数值类字段,一般也称为指标。

  OLAP技术可以看作是广义概念上的商业智能(Business Intelligence, BI)的一部分,而传统的OLAP分析应用通常包含了关系型数据库(relational database)、商业报告(business reporting)以及数据挖掘(data mining)等方面。

  下面介绍OLAP分析中两个重要的基本概念:OLAP cube和维度模型(Dimensional modeling,DM),这两个概念也是划分OLAP类型的重要标识。

  1、OLAP cube

  OLAP cube在数据库理论(database theory)中的定义为:RDBMS关系映射的一种抽象描述(An abstract representation of a projection ofan RDBMS relation)。数学描述如下:

  OLAP

  OLAP cube可以简单描述为“多维数据集”。cube,我们可以想象为数据指标根据多维度封装成的一个立方体结构(以三维空间为例,如果维度数超过3,我们则称为“Hypercube”),如图1.1所示,图中的Time、Products、Cities就是OLAP分析中提取的三个维度,而这个立方体封闭区域所代表的含义就是在这三种维度下,某项指标的度量值,根据上述映射关系可以描述为:

  

  在OLAP分析中,我们通常也会对维度指标进行分层组织(Level),即一系列的parent-child关系(Hierarchy);父类维度可以看作是子类维度的聚合。例如:2016年7月是2016年第三季度这个父类维度的子类维度,同时2016年第三季度又可以看作是2016年这个父类维度的子类维度。

  2、维度模型

  维度模型的概念出自于数据仓库领域,是数据仓库建设中的一种数据建模方法。维度模型主要由事实表和维度表这两个基本要素构成。

  事实表是维度模型的基本表,用于存放大度量值,术语“事实”代表了一个度量值。举一个例子:查询某个客户在某个机构下某个产品合约账户的某个币种的某个时点余额,在各维度值(客户、产品合约、账户、机构、币种、日期)的交点处就可以得到一个度量值。维度值的列表定义了事实表的粒度,同时又确定了度量值的取值范围。

  事实表的一行对应一个度量值,事实表的所有度量值必须具有相同的粒度。而事实可能是半加性质的,也可能是非加性质的,半加性事实表示度量值可以沿着某些维度由子类维度向父类维度进行聚合;非加性事实则完全不能相加,比如状态事实,对于这种非加性事实,我们只能采用计数或者求平均值,或者打印出全部事实行的方法进行分析。

  所有事实表有两个或者两个以上的外关键字(如图1.2中FK符号标记的部分),外关键字用于连接到维度表的主关键字。例如,事实表中的“产品合约关键字”总是匹配产品合约这个维度表的一个特定“产品合约关键字”。如果事实表中的所有关键字都能分别与对应维度表中的主关键字正确匹配,就可以说这些表满足引用完整性的要求。事实表要通过与之相连的维度表进行存取。

  OLAP

  维度表是事实表不可分割的部分。如图1.3所示,维度表包含有业务的文字描述。在一个设计合理的维度模型中,维度表会包含许多列或者属性,我们称之为维度属性。对于维度表来说,包含50到100个维度属性的情形并不少见。维度表倾向于将行数做得相当少(通常少于100万行),而将列数做得特别大。每个维度用单一的主关键字(如图1.2中PK符号标记的部分)进行定义,主关键字是确保同一与之相连的任何事实表之间存在引用完整性的基础。

  OLAP

  维度表是进入事实表的入口。丰富的维度属性给出了丰富的分析切割能力。维度给用户提供了使用数据仓库的接口。最好的属性是文本的和离散的。属性应该是真正的文字而不应是一些编码简写符号。应该通过用更为详细的文本属性取代编码,力求最大限度地减少编码在维度表中的使用。

  最后简单说明下维度表和事实表的融合。二者的融合也就是“维度模型”,“维度模型”一般采用“星型模式”或者“雪花模式”,如图1.4所示为“星型模式”,而“雪花模式”可以看作是“星型模式”的拓展,表现为在维度表中,某个维度属性可能还存在更细粒度的属性描述,即维度表的层级关系。

  OLAP

  技术特点

  OLAP技术非常多的特性,概括起来主要有如下几点特性:OLAP技术是面向分析人员、管理人员的;OLAP技术对数据访问通常是只读的,并且一次访问大量数据;OLAP技术是面向主题的多维数据分析技术。

  OLAP技术是面向分析人员、管理人员的

  区别于OLTP面向操作人员,OLAP技术主要面向分析人员、管理人员,他是提供分析人员、管理人员快速又直观的访问数据的一种途径。使分析人员、管理人员能直观的从海量数据中获得有用信息以提供决策依据。

  OLAP技术对数据访问通常是只读的,并且一次访问大量数据。

  OLAP技术主要是针对海量数据的查询,通常不对数据做修改。这种数据访问有别于OLTP中不断的对数据进行增删改操作。同时这种查询不是简单的记录属性的检索,而是为了从海量数据中获取有用信息的针对大量数据的查询,通常一次需要查询会涉及到上百万条以上数据。

  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(PhysicalOLAP);而ROLAP主要通过一些软件工具或中间软件实现,物理层仍采用关系数据库的存储结构,因此称为虚拟OLAP(VirtualOLAP)。

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分