论文部分内容阅读
摘要: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的比较
图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 ServiceSamplesFoodMart 200.mdb”为例,分析人员想要按产品和顾客分析1998年进行所有的销售业务数据,通过使用存储在公司的OLTP数据库,建立多维数据集建立OLAP系统。
2.1建立系统数据源DSN
使用Analysis Manager之前,必须先在控制面板的ODBC数据管理器中设置和源数据的连接。将“FoodMart 200.mdb”建立为DSN,数据源名为“教程”。
图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”。
图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”维度的细节。
图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.
关键词: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的比较
![](/img/pic.php?url=http://img1.qikan.com/qkimages/dnjl/dnjl201211/dnjl20121103-2-l.jpg)
图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 ServiceSamplesFoodMart 200.mdb”为例,分析人员想要按产品和顾客分析1998年进行所有的销售业务数据,通过使用存储在公司的OLTP数据库,建立多维数据集建立OLAP系统。
2.1建立系统数据源DSN
使用Analysis Manager之前,必须先在控制面板的ODBC数据管理器中设置和源数据的连接。将“FoodMart 200.mdb”建立为DSN,数据源名为“教程”。
![](/img/pic.php?url=http://img1.qikan.com/qkimages/dnjl/dnjl201211/dnjl20121103-4-l.jpg)
图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”。
![](/img/pic.php?url=http://img1.qikan.com/qkimages/dnjl/dnjl201211/dnjl20121103-6-l.jpg)
图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”维度的细节。
![](/img/pic.php?url=http://img1.qikan.com/qkimages/dnjl/dnjl201211/dnjl20121103-8-l.jpg)
图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.