`

SQL Server 2005 OLAP技术研究与实现

阅读更多

1 引言

    近 年来,随着企业信息化的飞速发展,企业拥有大量业务数据但难以及时有效的提取经营管理者所需要的信息这一问题,数据仓库技术应运而生。如何有效的组织大量 数据,维护数据的一致性,方便用户访问,这只是数据仓库技术的一个方面。数据仓库技术的另一个方面是如何为经营管理人员提供有效的使用信息,使他们能够使 用数据仓库系统,对企业的经营管理作出正确的决策,从而为企业带来经济效益。要达到这个目的,就要借助OLAP技术。

 

2 OLAP 概念

      联 机分析处理(OLAP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的。当时,他认为联机事务处理(OLTP)已不能满足终端用户对数 据库查询分析的需要,SQL对大数据库进行的简单查询也不能满足用户分析的需求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果 并不能满足决策者提出的需求。因此Codd提出了多维数据库和多维分析的概念,即OLAP。

    OLAP 主 要有两个特点,一是在线性(On-Line),表现为对用户请求的快速响应和交互式操作,它的实现是由Client/Server这种体系结构来完成的; 二是多维分析(Multi-dimensional Analysis),这也是OLAP技术的核心所在。OLAP的在线性体现在与用户的交互和快速响应,多维性则体现在它建立在多维视图的基础上。用户积极 参与分析过程,动态地提出分析要求、选择分析算法,对数据进行由浅及深的分析。OLAP的用户是企业中的专业分析人员及管理决策人员,他们在分析业务经营 的数据时,从不同的角度来审视业务的衡量指标是一种很自然的思考模式。例如分析销售数据,可能会综合时间周期,产品类别,分销渠道,区域分布,客户等多种 因素来考虑。这些分析角度虽然可以通过报表来反映,但每一个分析的角度可以生成一张报表,各个分析角度的不同组合有可以生成不同的报表,使得IT人员的工 作量相当大,而且往往难以跟上管理决策人员思考的步伐。所以OLAP的多维性较好地满足了企业管理人员的需要。管理人员可对OLAP进行操作,即对多维数 据集中的数据进行切片、切块、旋转、上卷和下钻操作,以对数据进行分析,让用户多角度、多侧面地去观察数据仓库中的数据,从而深入了解数据仓库中数据所蕴 含的信息,并找出隐含在数据中的商业模式。

    根 据综合性数据的组织方式的不同,目前常见的OLAP主要有基于多维数据库的MOLAP及基于关系数据库的ROLAP两种。MOLAP是以多维的方式组织和 存储数据,ROLAP则利用现有的关系数据库技术来模拟多维数据。在数据仓库应用中,OLAP应用一般是数据仓库应用的前端工具,同时OLAP工具还可以 同数据挖掘工具配合使用,增强决策分析功能。

      数据仓库的基本任务是使用获得的数据来进行大量的分析,以生成支持用户制定战略决策的信息。为了让数据仓库能作有意义的分析,数据必须以某种方法被映射,以便用户能利用这些数据来分析随着时间变化各商业维度的关键指标的数值。

      具 体而言,联机分析主要满足多维分析。对于销售数据的检索,不能仅仅满足于一维查询。要将日常的销售数据加工成支持用户制定战略决策的信息,就必须与销售日 期、产品、客户、销售区域、等结合起来,生成多维视图。以某公司为例,在进行产品销售分析时,不能仅考虑某月某区域总销量和总销售收入为多少,还必须考虑 诸如:某产品在第一季度取得多少销售收入?该产品在各个区域具体每月销售情况如何?等等。为了进行有效的分行,用户必须要有简单的方法沿着多个商业维度来 执行复杂的分析。因此必须给用户提供一个简单的、灵活的信息访问来为分析处理提供必要的查询,使用户能沿着任何维度数在任何聚集水平上对数据进行分析,使 用户能沿着每个维度的不同层次下钻和上卷数据来满足对数据的快速访问和计算。无论用户是请求查询所有区域所有产品每个月的销售额,还是请求查询某个区域某 个产品从年度到一天的销售额,查询和分析系统的反应时间都必须一致,系统不能因为所分析的复杂度增加而使反应时间加长,即用户建立一次查询所耗费的精力和 等待查询结果集的时间都必须和这个查询的类型无关。

3 SQL Server 2005 OLAP

    在SQL Server 2000正式发布的5年之后,微软才推出了SQL Server 2005,其研发过程可谓漫长,其中的技术更新和功能增强也是非常可观的。作为SQL Server 2005主打的商业智能概念,微软提出了OLAP建模领域内的全新新概念-统一维度模型UDM(Unified Dimensional Model)和搭建OLAP系统新方法。

3.1 OLAP 建模新概念-UDM

UDM (统一维度模型)是以SQL Server Analysis Services(SSAS)作为商业智能开发的入口,使用户能够通过统一的结构直接访问多个异类数据源,并对查询、数据和元数据使用一种统一的传输方法。

 

 

图1 UDM(统一维度模型)的整合理念

UDM (统 一维度模型)的整合理念(图1)显示在数据模型的层次上,可将多个模型统一成为一个模型。这个统一维度模型可以连接到后台不同的数据源,支持非SQL系列 的异构数据库,包括SQL2000体系下的多维结构存储数据集MOLAP。对于前台的客户端,无论它是OLAP用户还是报表用户,他所看到的知识UDM这 样一个统一的模型,而无需考虑底层的数据源分类和分布。UDM则通过XML/A或者ODBC标准接口,向客户端提供完整的数据和功能支持。UDM分别实现 多维分析模型的不同功能如下:

l       数据源视图(Data Source View):通过数据库连接引擎,从异构关系型数据库中获取数据。

l       基本维度模型(Basic Dimensional Model):建立多维结构,按照分析的模式设计聚合和计算,并进行存储。

l       计算器(Calculations):设计、定义新的专门计算,并将其作为分析的一部分;

l       高级客户端模型(End-User Model):设计、定义高级计算和操作方法,实现数据表现形式等方面的扩展。

    具 体来说,UDM(统一维度模型)是SQL Server 2005 Analysis Services提供的一个元数据模型:它是连接数据仓库和前台分析客户端的中间层;将异构数据库作为自己的数据源;同时被所有报表、电子表格、OLAP 浏览器、分析应用程序等客户端当作数据源来使用。它是SQL Server 2000中多维分析模型(Cube)概念的扩展和延伸。

实 际上,在SQL Server 2005 Analysis Services中创建项目的过程,就是UDM的建模过程。在OLAP服务器上,UDM体现为一个多维数据库。前台客户端通过连接此多维数据库,使用其中 的元数据进行分析操作。所以说,UDM并不是SQL Server 2005 提供的一个简单的工具,它提供了一个更高级的BI的开发方法。UDM被看作是OLAP多维数据集(Cube)的下一代技术,它的统一报表模型结合了 OLAP技术和关系型报表的优势。

3.2 搭建OLAP系统新方法

      在SQL Server 2000中,如果想去开发一套OLAP系统,必须按照“由下至上”(如下图2)这种方式来进行:

 

 

 

图2 “由下至上”的方法

    顺序为:建立数据仓库—〉搭建Cube—〉应用OLAP分析;将这一顺序迁移至SQL Server 2005的环境中,就转变为:建立数据仓库—〉建立数据源视图—〉创建Cube—〉使用前端分析工具。

    在 这种开发方法中,我们首先需要创建数据仓库,在这个数据仓库中将会包括维度表和事实表。接下来按照数据仓库来创建维度和多维数据集(Cube)。在这些都 完成之后,就可以向数据仓库中加载我们的测试数据,然后在处理我们的多维数据集,最后我们通过前端分析工具(如Excel)对多维数据集进行展现。这时, 问题出现了。往往在利用前端展现工具测试多维数据集的时候,会发现我们的多维数据集构建的不够理想。我们在构建数据仓库的时候,经常会有很多因素没有考虑 进去,导致最后展现的结果不正确,然而这些因素只有在最后展现的时候才能发现。

    这时只能去修改数据仓库,然后再根据修改后的数据仓库来修改维度和多维数据集,有时候甚至需要重新创建维度和多维数据集。修改之后,再利用前端展示工具对多维数据集进行展现。在整个过程之后,往往又会有新的问题出现,于是不得不再次重复这个过程。

    在SQL Server 2005中,它提供了一种全新的创建OLAP系统的方法,这种方法不仅可以大幅度降低工作量,同时,对于创建一个标准的多维数据集与标准的数据仓库也有很大的帮助。

    这 种方法被称之为“由上而下”的方法。如图3。与传统的方法不同的是,它将数据仓库和Cube的设计顺序互换:首先使用SQL Server设计工具和向导设计Analysis Services维度和多维数据集,然后使用架构生成向导生成基于这些维度和多维数据集的数据源视图以及基础关系数据库架构。该关系数据库称为主题区域数 据库。

 

 

 

图3 “由上而下”的方法

    在 这种新的方法中,不再按照传统的方法先去创建数据仓库,而是直接去创建多维数据集。在SQL Server 2005中,完全可以在不依赖于任何数据源的情况下,来创建所需的多维数据集,指定它包括的维度、量度、计算值、KPI以及透视图等等,同时也可以设置它 们的属性。然后由SQL Server 2005 提供的强大功能—生成关系架构向导来按照所设置的多维数据集中的维度和量度,自动生成数据仓库,生成数据仓库后就可以加载测试数据,然后再来处理多维数据 集,最后可以利用前端展现工具对设计的多维数据集进行展现。

    这 时,同样会发现多维数据集的设计存在问题,但不必去修改数据仓库了,而是直接来修改多维数据集,包括维度及量度等。修改之后,还可以利用生成关系架构向导 来重新生成数据仓库,并且在生成数据仓库时保留以前的数据,而不必重新加载。如此往复下去,直到设计的多维数据集完全正确。

    比较两种方法不难发现,第二种方法不仅可以大幅度减少工作量,同时也提供了更强大的功能,这样就可以非常轻松地创建出一个标准的多维数据集。这也是SQL Server 2005推荐我们使用的创建OLAP系统的方法。

 

4 销售数据仓库OLAP的实现

      在 某企业中,可以建立起以销售数量和销售额为度量,在建立了时间维、客户维、产品维、产品类别维、销售区域维等维度的销售多维数据集之后,就可以基于销售多 维数据集实施OLAP分析,进而为企业管理者提供有价值的决策支持信息。使用SQL Server 2005数据仓库附带的Analysis Services可以方便直观地获得分析结果。图4 是按销售区域维(即客户所在地区)、时间和产品分类汇总的销售数量和销售金额。

 

 

图4 按产品类别、销售区域和客户等维度份年度、季度汇总销售数据

    同 样的,在SQL Server 2005 Analysis Services 中只须根据数据分析的需要在多维数据集中进行简单的点击和拖动,可以生成以销售数量和金额为度量,以时间维、产品类别维、客户维、销售区域维的不同组合, 再考虑到比如时间维的年、季度、月等不同层次。这样,就可以从不同角度、不同的汇总级别来观察数据,获得对销售管理有价值的信息。

 

5 结束语

    本 文通过对SQL Server 2005 中OLAP技术的研究,实现了在SQL Server 2005商务智能开发环境中,采用OLAP的最新理念和建模技术,为企业的管理提供了统一、准确和及时的销售分析决策平台,当然,OLAP技术还可以方便 地与数据挖掘一起为企业的商务智能提供良好的解决方案,这可以进行下一步的研究和实现。

 

分享到:
评论

相关推荐

    SQL Server 2005 OLAP技术研究与实现.pdf

    SQL Server 2005 OLAP技术研究与实现.pdf

    SQL Server 2008 商业智能完美解决方案(3)

    利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。...

    SQL Server 2008商业智能完美解决方案 1/3

    利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。...

    基于SQL SERVER的OLAM模型构建研究

    从SQL SERVER的OLAM模型的形成说起,SOL Server2005、OLAP和Data Mining共同形成了OLAM模型的体系机构,其中,关键性的联机分析挖掘模型和无缝集成技术是形成OLAM新工具的关键所在。并以基于Agent的OLAM研究为例,探讨...

    SQL Server 2008商业智能完美解决方案 3/3

    利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。...

    SQL Server 2008商业智能完美解决方案 2/3

    利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。...

    数据挖掘的复习总结( APRIORI算法 ,OLAP操作)

    3. OLAP技术,多维数据模型,数据立方体概念,构建星型数据库模型 4. 度量分类与计算 5. K均值分配方法 6. OLAP操作有哪些 7. 数据预处理(最小-最大规范化和小数定标规范化) 8. 知识度与精确度的概念 9. T权值...

    数据仓库与数据挖掘技术

    第6章介绍OLAP的MDX表示与实现,涉及OLAP的基本分析动作的MDX语言表示与实现及OLAP的前端展现方式,提供了丰富的MDX语言程序实例;第7章介绍数据挖掘基础,主要包括数据发掘的概念、数据发掘技术、工具、方法及步骤...

    【推荐】数据仓库理论学习与实践资料合集(104份).zip

    商务智能技术在银行业务中基于数据仓库的研究与实现 数据仓库_历史与现在发展状况 数据仓库分析系统整体设计方案 数据仓库基本操作 数据仓库设计 数据仓库学习笔记 数据仓库总体设计报告 为什么要建立数据仓库 数据...

    数据挖掘在各行业的应用论文

    用SQL Server2000构建数据挖掘解决方案.caj 信息技术在全球银行业的应用(六)——数据挖掘技术及其应用1.kdh 数据挖掘与电力系统 12.caj 数据挖掘中知识管理与表达系统的设计与实现.caj 数据挖掘及其在通信侦察信号...

    数据挖掘论文合集-242篇(part2)

    用SQL Server2000构建数据挖掘解决方案.caj 用于建模、优化、故障诊断的数据挖掘技术.caj 用于数据挖掘的贝叶斯网络.caj 用于电子商务中的数据挖掘技术研究.caj 用户访问模式数据挖掘的模型与算法研究.caj 用数据...

    Database Processing Fundamentals, Design, and Implementation (12th Edition).rar

    《数据库处理:基础、设计与实现(第11版)(英文版)》每章都有丰富的习题,可作为高校本科生或研究生的数据库课程的双语教材,同时也是一本很好的专业参考书。 编辑推荐 《数据库处理:基础、设计与实现(第11版)(英文版...

    数据挖掘论文合集-242篇(part1)

    用SQL Server2000构建数据挖掘解决方案.caj 用于建模、优化、故障诊断的数据挖掘技术.caj 用于数据挖掘的贝叶斯网络.caj 用于电子商务中的数据挖掘技术研究.caj 用户访问模式数据挖掘的模型与算法研究.caj 用数据...

    数据挖掘论文合集-242篇(part3)

    用SQL Server2000构建数据挖掘解决方案.caj 用于建模、优化、故障诊断的数据挖掘技术.caj 用于数据挖掘的贝叶斯网络.caj 用于电子商务中的数据挖掘技术研究.caj 用户访问模式数据挖掘的模型与算法研究.caj 用数据...

    Access 2000数据库系统设计(PDF)---001

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库 相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动...

    Access 2000数据库系统设计(PDF)---002

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库 相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动...

    Access 2000数据库系统设计(PDF)---018

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正...

    Access 2000数据库系统设计(PDF)---003

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库 相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动...

    Access 2000数据库系统设计(PDF)---011

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正...

    Access 2000数据库系统设计(PDF)---020

    101.6 浏览和编辑子数据表中的相关记录 111.7 使Jet和SQL Server 7.0/MSDE数据库相一致 111.8 Access在2000年问题上的改进 121.8.1 四位数年份选项设置 121.8.2 数据库窗口 131.8.3 窗体和报表 141.8.4 名称自动更正...

Global site tag (gtag.js) - Google Analytics