开篇:润墨网以专业的文秘视角,为您筛选了一篇基于SQL Server的OLAP的研究与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:OLAP的目标是满足分析人员的决策需求,能够从各种角度对由OLTP数据库中转化来的企业信息进行快速地存取。SQL Server内置的OLAP工具Analysis Manager可以允许用户访问异构数据库,提供支持OLAP分析的高速缓存和计算引擎。该文在分析OLAP系统体系结构的基础上,研究了基于sql server的olap系统的实现方案。
关键词:SQL Server;OLAP;OLTP
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)11-2447-05
Research and Implementation of OLAP Based on SQL Server
JIANG Hong-Jun
(Lianyungang City Institute of Architectural Design Limited Liability Company, Lianyungang 222000, China)
Abstract: The goal of OLAP is to meet the decision demand for analysers. From various aspects,OLAP can rapidly access the enterprise information which is transformed from OLTP datebase.Analysis Manager as a built-in OLAP tool in SQL Server provides high access isomerism database.After analyzing the architecture of OLAP system,this paper studies the implementation scheme of OLAP system,this paper studies the implementation scheme of OLAP system based on SQL server.
Key words: SQL Server; online analytical processing; online transation processing
60年代,关系数据库之父E.F.Codd提出了关系模型,促进了OLTP的发展,单OLTP的关系数据库的简单查询不能满足用户分析的要求,要形成用户决策需要的对关系数据库进行大量的计算。1993年,E.F.Cood提出了OLAP的概念,它不同于OLAP,OLAP的目标是满足分析人员的决策需求,能够从各种角度对由OLTP数据库转化来的企业信息进行快速的存取。OLAP属于数据仓库的范畴,已被归入到DSS的扩展领域。
表1 OLAP与OLTP的比较
SQLServer是一个高性能的多用户关系型数据库管理系统,专业为企业客户/服务器设计环境而设计,七内置的OLAP工具Analysis Manager可以允许用户访问异构数据库,提供支持OLAP分析的告诉缓存和计算引擎。该文旨在分析OLAP系统体系结构的基础上,结合实例研究给予SQL Serer的OLAP系统的实现方案。
1 OLAP系统的体系结构
OLAP系统由数据源、装入、存储、用户工具和元数据五个部分组成,体系结构如图1所示。
1.1数据源source
数据源可以使关系型OLTP数据库、数据文件或其他具有OLE DB提供者的数据源。
1.2装入LOAD
DTS提供了将数据导出、验证、清除、合并、转换及导入至目的地的方法,这些步骤由DTS数据泵执行,DTS数据泵是一个与OLE DB Service Provider兼容的COM。
图1OLAP系统的体系结构
1.3存储Storage
OLAP数据库的三种存储方式:
1)多维OLAP,他是一张事实表和多张维表组成,事实表用于存储事实的度量和各维的码值,维表用于存储的层次、成员类型灯描述性信息,事实表和维表都直接存储在Analysis Server中。
2)ROLAP:关系OLAP,由Analysis Server用一个字段为每维的每一度量建立总结表,总结表由OLTP系统的进程操纵,并不存储在Analysis Server中。
3)HOLAP:混合OLAP,是上述两种方法的结合,事实表保留在OLTP数据库中,维表存储在Analysis Server中,这样既可以避免在检索在过程中复制数据,又可以防止在OLTP总结表中查询事实数据时操作性能受到限制。
1.4用户工具User Tools
Analysis Manager能够结合一二组织中的各种异构数据源,用户可以使用工具通过透视表服务Pivot Table Service访问Analysis Server中的数据集。
1.5元数据MetaData
元数据用于存储数据模型、定义数据结构和转换规则、确定控制信息等。
2基于SQL Server的OLAP的系统实现
该文以安装Analysis Service时附带的表“Microsoft Analysis Service\Samples\FoodMart 200.mdb”为例,分析人员想要按产品和顾客分析1998年进行所有的销售业务数据,通过使用存储在公司的OLTP数据库,建立多维数据集建立OLAP系统。
2.1建立系统数据源DSN
使用Analysis Manager之前,必须先在控制面板的ODBC数据管理器中设置和源数据的连接。将“FoodMart 200.mdb”建立为DSN,数据源名为“教程”。
图2新建“教程”数据库
图3建立“教程”数据库到“教程”DSN
2.2建立数据库和到DSN数据源的连接
在设计多维数据集前,需要建立一个用于存放多维数据集、角色、数据源、共享维度的数据库,并将其与先前建立的DSN连接。
1)启动Analysis Manager:Analysis Manager是一个内置在SQL Server中管理OLAP数据库的可伸缩组件,使用它可以生成多维数据集并向应用程序提供多维数据集的访问。
2)建立数据库:在Analysis Manager树视图的“Analysis Servers”中新建数据库“教程”以建立与Analysis Servers的连接,“教程”数据库包含下列项目:数据源、多维数据集、共享维度、挖掘模型、数据库角色,见图2所示。
3)建立到“教程”DSN数据源的连接:在Analysis Manager中建立一个数据源,将数据库连接到在ODBC数据源管理器中建立在DSN上,并测试连接是否成功,见图3所示。
2.3建立数据库和到DSN数据源的连接
多维数据集是数据的一种多维结构,由维度和度量值的集合进行定义。通过创建多维数据集,Analysis Manager可将存储在OLTP数据库中的数据转换为具有实际含义并且易于查询的业务信息,多维使用的最常用方式是星型构架MOLAP,它由一张事实表和链接到该事实表的多张维表组成。
1)在Analysis Manager树视图的“教程”数据库下打开多维数据集向导。
2)向多维数据集添加度量值:度量值是针对OLTP数据库要进行分析的量化值,常用的度量值为销售、成本和预算数据,度量值根据多维数据集不同的维度类别进行分析。在多维数据集向导中展开“教程数据源”,选择“sales-fact-1998”作为事实表,在“事实数据表数据列”中定义多维数据集的度量值“store-sales”、“store-cost”和“unit-sales”。
图4新建多维数据集Sales
图5设置多维数据集Sales聚合选项
3)建立时间维度:在向导的“选择多维数据集的维度”中新建维度,选择创建方式“星型构架:单个维度表”,维度表为“time-by-day”,维度类型为“时间维度”,创建时间维度级别为“年、季度、月”,输入“Time”作为新维度的名称,并制定此维度为共享。
4)建立产品维度:在向导中新建维度,选择创建方式为“雪花构架:多个相关维度表”,维度表为“Product”和“product-class”,顺序选择“product-category”、“product-subcategory”和“brand-name”为维度的级别,输入“Product”作为新维度的名称,并指定此维度为共享。按同样的方法,建立星型构架的单个维度表客户维度“Customer”商店维度“Store”.
5)完成多维数据集的生成:在向导中将多维数据集命名为“Sales”,随之启动多维数据集编辑器,其中包含创建的多维数据集Sales,见图4所示。
2.4存储多维数据集
使用多维数据集中的数据之前必须先进行存储和聚合出来,存储模式由多维OLAP、关系OLAP和混合OLAP三种,聚合为预先计算好的汇总数据,利用这些数据可以极大的提高查询的效率和响应时间,处理Sales多维数据集时将从ODBC源中装载数据并按照聚合设计中的定义计算汇总值。该文选择MOLAP作为存储模式,创建多维数据集Sales的聚合设计。在Analysis Manager的视图中“编辑”新建的多维数据集“Sales”,选择“MOLAP”作为数据存储类型,设置聚合选项为性能提升达到“40%”,表示Analysis Services将性能提升到40%,而不管需要多大的磁盘空间,见图5所示。
2.5使用多维数据集进行OLAP
使用多维数据集浏览器对多维数据集Sales进行切片和切换,可以不同方式查看数据:筛选可见的维度数据量、深化查看数据的细节或浅化查看较为概括的数据。在Analysis Manager的树视图中打开多维数据集浏览器浏览多维数据集Sales,图6显示了由多维数据集的一个维度和度量值组成的网格,其他四个维度显示在浏览器的上方。图7是将“Product”维度拖到“Country”维度上,双击网格中包含“Baking Goods”的单元将深化“Product”维度的细节。
图6筛选多维数据集Sales中的Customer维数据
2.6存储多维数据集
在Analysis Manager树视图的“共享维度”中新建维度为“虚拟维度:另一个维度的成员属性”,选择带有成员属性的维度为“Customer”,选择虚拟维度的级别为“Lname.Yearrly Income”成员属性,输入维度名称为“Yearly Income”。新维度包括在共享维度的列表中,可以将其添加至多维数据集Sales中,方法是在Analysis Manager树视图中“编辑”多维数据集Sales的“维度”,在维度管理器中选择创新维度“Yearly Income”,将它拖动到“多维数据集维度”列表中。
图7深化多维数据集Sales中Product
3结束语
该文分析了OLAP系统的体系结构,研究了基于SQL Server的OLAP的系统解决方案。随着数据仓库技术的日益成熟,OLAP系统在大型关系数据库、分布式数据库、面向对象数据库、对象关系数据库中的分析处理等方面必将发挥着巨大的作用。
参考文献:
[1] Martin Stardt,AncaVaduva,Thomas Vetterli.The Role of Meta for Data Warehouse[Z].2000.
[2] Han Jiawei.Micheline Kamber.数据挖掘:概念与技术[M].北京:机械工业出版社,2003.
[3]王珊.数据仓库技术与联机分析处理[M].北京:科学出版社,1998.