关注于商业智能,报表工具,ETL及相关应用软件和技术的博客

All tag results for ‘olap’

什么是数据仓库

05月 25th, 2008

我们都知道,利用多种不同的企业数据库提取数据进行业务决策是一件复杂的工作。而数据仓库的主要优点就是可以将这些不同的数据整合在一个中央存储环境中,并提供给用户必须的OLAP(Online Analytical Processing,联机分析处理)工具来检索与业务有关的数据。

当你听到”数据仓库(data warehousing)”这个词的时候会想到什么呢?也许是一个满是货架的房间,而货架上按一定次序放满了各种信息等待用户提取。

如果你是这么想的,那么恭喜你已经向数据仓库迈进了一步。在传统的仓库中,货物通过一定的规则来摆放,以便于管理者快速检索和确认货品种类,并最终以最快速度提交给提货人员。而数据仓库的模式与之类似。

现在,你也许又会问:”那到底数据仓库和传统仓库相比有什么不同呢?”答案是它们非常类似,但在定义上有所不同。在一个典型的企业中,由于部门的分别,不同的数据总是存储在不同的数据库中。比如市场部、销售部、财务部或者是技术部,每个部门都有自己单独的一套数据库,他们之间在物理上是完全分离的,可是在逻辑上也许有着这样那样的关联。

如果有一个业务问题需要利用其中多个数据库中的数据才能作出结论,那么这个工作就变得很麻烦了。它需要有人熟悉每个部门的数据库结构,并在数据库管理员的协助下进行相关数据的采集和分析。一般来说,公司的普通员工是无法完成这个工作的。

定义
数据仓库可以将上面所提的各种数据整合在一个中央存储库中,为了便于分析,它还会重新整理和排列数据,这意味着新的数据库比传统的分散应用数据库更复杂。一般来说,控制程序会在非忙碌时间将数据批量转换到中央存储库,不过这个工作也可以实时进行。

当数据被导入数据仓库后,借助一些数据库连接和操作工具,比如联机分析处理(OLAP)工具,管理者或者其他用户就可以轻松的操作数据库并得到所需的商务数据。

让我们再想象一下,在传统的仓库中,铲车在货架间穿梭,不断的将一箱箱货物放到相应的货架上。在这个过程中,铲车驾驶员清楚的知道货品该放在什么地方,并且可以选择最快的途径将铲车驶到相应位置。而在数据仓库中,OLAP工具扮演的就是铲车和驾驶员的双重角色,它可以让用户通过简单的操作在数据库中对所需数据进行快速检索。

在OLAP服务器中,数据被重新整理以适应商务报表和分析请求的格式,包括:

异常报告(Exception reporting)
随即分析(Ad-hoc analysis)
资金使用与预算报告(Actual vs. budget reporting)
数据挖掘(Data mining,在数据中寻找趋势或者反常)
为了快速的处理商务查询,有的OLAP服务器会对查询结果进行预处理,而一个异常查询的预处理结果也许比整个数据仓库的体积还要大好几倍。

OLAP 的分类
OLAP主要分为两大类:使用多维数据库的MOLAPS和使用关系数据库的ROLAPS。MOLAP是一种两层的客户服务器架构,OLAP数据库既服务于数据库层,也服务于应用逻辑层。因此应用逻辑和数据库访问都位于同一系统中。

ROLAP通常使用三层架构,其数据库层和应用逻辑层是分离的,并且其数据存储在关系型数据库中,而不像MOLAP那样将数据存储在多维数据库中。

至于何种架构更适合你,则要根据需要而定了。MOLAPS和ROLAPS相比,具有更短的处理时间,更快的响应速度,并且对于用户需求更为灵活。而ROLAPS在处理的数据总量和支持的客户数方面强于MOLAPS。

此外,还有一种OLAP也越来越流行,这就是hybrid online analytical processing (混合联机分析处理,HOLAP)。从字面上我们可以大致看出,HOLAP是上面两种分类的融合,它同时利用了多维数据库和关系数据库。HOLAP的优势在于它可以在性能需求和存储量需求间找到一个平衡点,从而充分利用系统潜能。

数据挖掘
一旦确定了数据仓库,并选择了适当的工具对数据进行检索和操作,我们就可以通过特定的方法对数据进行询问。这个方法就是数据挖掘(data mining)。正如我们在前面提到的,查找数据趋势、模式以及数据间的关系都属于数据挖掘。数据挖掘技术包括:

联合:查找连接事件的模式
分组:查找新的模式
合并:发现和分组以前未出现过的情况
预测:发现数据中的模式并据此预测未来的数据
很明显,和在传统数据库中进行数据查询相比,使用数据挖掘深入分析数据仓库并找出有用信息并不简单。另外,数据挖掘技术还被用于遗传学研究。

另一种对数据进行分析的方法是使用决策支持系统。决策支持系统一般来说是通过专家系统或者人工智能来对数据进行分析,之后将结果汇总成便于用户阅读理解的格式(如线图、报表、表格等形式),以此帮助管理者做出商务决策。

实现
目前有数百家厂商都在销售数据仓库、OLAP、数据挖掘以及决策支持系统软件,其中主要厂商有IBM、Oracle、COGNOS和Microsoft等。另外,互联网上关于数据仓库及其相关工具的介绍也多如牛毛,你可以搜索”OLAP”或”数据仓库”来得到很多有用的知识。

数据仓库是一个复合项目,要想实现它需要专业知识。如果在设计和实施数据仓库项目时没有得到专门的技术支持,就会造成巨大的资源浪费。本文的目的只是为读者扩大知识面,以便读者在今后阅读更专业的数据仓库文章时可以较好的理解其内容。

PS:摘自“开发者在线 Builder.com.cn ”

联机分析处理OLAP

05月 14th, 2008

      当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。下表列出了OLTP与OLAP之间的比较。

OLTP

OLAP

用户

操作人员,低层管理人员

决策人员,高级管理人员

功能

日常操作处理

分析决策

DB 设计

面向应用

面向主题

数据

当前的, 最新的细节的, 二维的分立的

历史的, 聚集的, 多维的集成的, 统一的

存取

读/写数十条记录

读上百万条记录

工作单位

简单的事务

复杂的查询

用户数

上千个

上百个

DB 大小

100MB-GB

100GB-TB

      OLAP是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是”维”这个概念。

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

       OLAP的基本多维分析操作有钻取(roll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)、drill across、drill through等。

       ·钻取是改变维的层次,变换分析的粒度。它包括向上钻取(roll up)和向下钻取(drill down)。roll up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而drill down则相反,它从汇总数据深入到细节数据进行观察或增加新维。 
      ·切片和切块是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个,则是切块。 
      ·旋转是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。

      OLAP有多种实现方法,根据存储数据的方式不同可以分为ROLAP、MOLAP、HOLAP。

      ROLAP表示基于关系数据库的OLAP实现(Relational OLAP)。以关系数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,即对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。维表和事实表通过主关键字和外关键字联系在一起,形成了”星型模式”。对于层次复杂的维,为避免冗余数据占用过大的存储空间,可以使用多个表来描述,这种星型模式的扩展称为”雪花模式”。

      MOLAP表示基于多维数据组织的OLAP实现(Multidimensional OLAP)。以多维数据组织方式为核心,也就是说,MOLAP使用多维数组存储数据。多维数据在存储中将形成”立方块(Cube)”的结构,在MOLAP中对”立方块”的”旋转”、”切块”、”切片”是产生多维数据报表的主要技术。

      HOLAP表示基于混合数据组织的OLAP实现(Hybrid OLAP)。如低层是关系型的,高层是多维矩阵型的。这种方式具有更好的灵活性。

      还有其他的一些实现OLAP的方法,如提供一个专用的SQL Server,对某些存储模式(如星型、雪片型)提供对SQL查询的特殊支持。

      OLAP工具是针对特定问题的联机数据访问与分析。它通过多维的方式对数据进行分析、查询和报表。维是人们观察数据的特定角度。例如,一个企业在考虑产品的销售情况时,通常从时间、地区和产品的不同角度来深入观察产品的销售情况。这里的时间、地区和产品就是维。而这些维的不同组合和所考察的度量指标构成的多维数组则是OLAP分析的基础,可形式化表示为(维1,维2,……,维n,度量指标),如(地区、时间、产品、销售额)。多维分析是指对以多维形式组织起来的数据采取切片(Slice)、切块(Dice)、钻取(Drill-down和Roll-up)、旋转(Pivot)等各种分析动作,以求剖析数据,使用户能从多个角度、多侧面地观察数据库中的数据,从而深入理解包含在数据中的信息。        根据综合性数据的组织方式的不同,目前常见的OLAP主要有基于多维数据库的MOLAP及基于关系数据库的ROLAP两种。MOLAP是以多维的方式组织和存储数据,ROLAP则利用现有的关系数据库技术来模拟多维数据。在数据仓库应用中,OLAP应用一般是数据仓库应用的前端工具,同时OLAP工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。

      目前主要OLAP厂商有:Hyperion、Oracle、Cognos、MicroStrategy、Microsoft、BusinessObjects、IBM、Brio等。