现代零售业OLAP 系统的设计与开发

2011-02-09 06:13:44蒲晓湘
重庆电力高等专科学校学报 2011年3期
关键词:数据仓库数据量服务器

蒲晓湘,唐 佳

(1.重庆电力高等专科学校,重庆 400053;2.重庆市燃气集团 江北分公司,重庆 400020)

随着数据库技术的发展与广泛应用,越来越多的大型零售企业建立起了自己庞大的数据库,存储大量的业务数据。如何在这些数据中捕获潜在有用的信息用于决策,是现代企业决策者们面临的最大问题。传统的联机事务处理系统(OLTP)已不能满足用户对海量数据进行深度分析的需求。数据仓库技术和OLAP技术应运而生。

数据仓库(DW)技术是以数据库为基础、面向主题的数据管理技术。传统数据库中存放的是操作型数据,而数据仓库中存放的则是分析型数据。联机分析处理(Online Analytical Processing,OLAP)技术是面向主题的多维数据分析技术,是数据仓库系统的典型应用。数据仓库侧重于存储和管理其中的数据,而OLAP则侧重于数据仓库中的数据分析,并将其转换成决策信息。

对于现代零售业的决策者来说,销售常常是关注的焦点,因此对销售数据的分析尤为重要。本文主要以销售主题为例,分析如何构建企业的OLAP系统。

1 OLAP系统总体结构的设计

1.1 主题分析

1.1.1 主题的确定

所谓主题,即对应某一分析领域的分析对象。每一个分析主题形成一个OLAP应用。一般情况,零售企业关注的焦点集中在商品销售情况、商品库存情况、供应商、客户信息等方面,这些都可以作为OLAP分析的主题。

1.1.2 维及维层次的确定

维是人们观察数据的特定角度,是考虑问题时的一类属性,这些属性的集合构成一个维。如销售主题的维可选取时间维、商品维、顾客维、供货商维等。

维的层次描述了同一维的不同聚合程度,与粒度层次的划分有关。粒度是指数据仓库中数据单元的详细程度和级别,数据越详细,粒度越小,级别就越低。例如,每个销售时间的细节数据,可按天、月、季度、年4个级别进行汇总,因此销售时间维就有天、月、季度、年4个层次。

维的成员是维的一个取值,是数据项在某维中位置的描述。如“某年某月某日”是在时间维上的描述。

1.2 数据量的估算

进行数据仓库系统设计,首先要对系统中可能存储的数据量进行分析,然后估算所需的存储空间,确定数据仓库的数量级,并以此作为选择软硬件环境的参数。每一个表的数据量估算公式为:

表数据量 =∑(表记录的大小+主关键字大小)×单位时间记录的数量×存储因子×冗余因子

对于各个分析主题来说,事实表数据是最大的部分,其它表的数据量级较小。因此,可用各个主题的事实表的数据量之和来估算数据仓库的存储空间。例如,对于销售主题中的事实表,若每条记录大约有70字节,主关键字为40字节,每天的记录数约为3000条,存储5年时间,冗余因子取2,那么按上式计算,销售事实表中的数据量大约为1.2G字节。

1.3 系统软硬件的选择

1.3.1 硬件选择

由于大容量复杂数据存储和迅速查询的要求,数据仓库的服务器系统应有较快的响应速度、高性能的CPU、良好的I/O接口、大容量的联机硬盘及内存等,同时也应配海量外部存储设备,作数据转储使用。为了使数据仓库系统的性能达到最佳,应力求做到各个硬件部分的平衡。

1.3.2 软件选择

数据仓库系统的软件包括数据仓库的数据库管理系统(DBMS)、OLAP分析服务、数据转换工具和客户端使用的报表工具等。目前OLAP软件提供商有 Oracle Express、IBM DB2 OLAP Server、Microsoft Analysis Services等,其中Microsoft SQL Server中的Analysis Services的可扩展性、性能表现、安全性、易管理性等方面较其它OLAP产品更具优越性。

综合以上分析,本文采用Microsoft SQL Server及Analysis Services作为数据仓库和OLAP数据库的开发软件。SQL Server中的数据转换服务(DTS)是数据转换的理想工具。Analysis Services服务器与其它微软的工具和SQL Server紧密结合,是执行OLAP分析操作的一个很好平台,可用它作为OLAP分析服务器。微软的数据透视表服务(PivotTable Service,PTS)是一个功能强大的数据显示工具,能支持基于Web的可视化数据分析,可用它作为前端展现工具。因此,整个销售OLAP系统就构成了三层的客户/服务器结构。如图1所示。

图1 销售OLAP系统总体结构

2 数据仓库的构建

2.1 定义数据仓库中的表

数据仓库中一般要建立系统信息表、原始单据表、数据转换对照表及基础数据表等。各表的定义是在SQL Server中的企业管理器中进行。首先要在注册的SQL Server服务器中新创建数据仓库,然后新建和各个主题相关的表,这也是为OLAP立方创建事实表和维度表。一个主题对应一个事实表,一个维度对应一个维表。如销售事实表(销售日期,部门柜组编码,供货单位编码,商品编码,销售数量,销售金额)。

实践证明,不良的数据类型会影响SQL Server的运行速度,消耗存储空间。因此,各个表以及表中的字段应尽量使用格式短的数据类型,尽可能地贴近原始格式。如时间字段最好用datetime或smalldatetime;货币型字段最好选用money型等。

数据仓库中各个表定义好后,还需为各个表创建索引。索引是优化数据仓库性能的一个重要方面。

2.2 数据的转换和导入

数据仓库中的源数据主要来自企业的OLTP业务数据库。当数据仓库中的表建好以后,接下来就是以统一定义的格式从各个数据库系统中将数据抽取出来,经过清洗和聚合后,放在SQL Server中新建的目的表中。SQL Server中可以自定义创建数据转换包,即DTS包,也可以使用DTS向导,包保存在SQL Server Meta Data Services中。

2.3 建立数据仓库的模型

数据仓库的模型主要包括概念模型、逻辑模型和物理模型。

概念模型的任务是给出数据仓库的大概轮廓,包括系统边界的界定、确定分析的主题域及其内容。

数据仓库中的逻辑模型就是关系模型,主要任务是为每一个主题定义关系模式。逻辑模型描述了数据仓库的主题的逻辑实现,是连接概念模型和物理模型的桥梁。各个主题的关系图是在SQL Server企业管理器中建立,生成星型或雪花模型,如图2所示。

物理模型是依据逻辑模型而创建,确定模型的键码属性和模型的物理特性。物理模型就是由一系列具体的表所构成,其中主要的就是事实表、维表以及索引的建立。

图2 销售主题雪花结构

3 OLAP数据库的构建

构建OLAP多维数据库,最关键的步骤就是多维立方和维的类型设计。维度是立方的组成部分,分为常规维、虚拟维和父子维三大类。立方有常规立方、虚拟立方、链接立方和本地立方之分。通常创建的立方就属于常规立方,其它类型的立方根据需要来选择。例如,若需要在本地服务器上定义和存储另一台服务器上的某个立方,就要创建链接立方。

多维立方体的创建是基于数据仓库中所建立的星型或雪花模型,在Analysis Manager中进行,数据源选择SQL Server中已经创建的数据仓库。

立方体建好以后,在Analysis Manager中就可以浏览其中的数据并进行多维分析了,包括切片、切块、钻取和旋转等操作。

4 前端应用程序开发

销售OLAP系统前端分析结果的展示可利用Analysis Services客户端的PTS来实现,它支持在客户端操作OLAP数据,如图3所示。用户还可用Visual Basic,利用多维扩展语言(MDX)、ADO MD等来开发定制的OLAP前端应用程序。

5 结束语

信息技术的发展,使得数据仓库技术和OLAP技术在现代企业决策分析系统中发挥着越来越广泛的作用。本文就大型零售企业的销售主题,基于微软的SQL Server及Analysis Services软件平台,提出了如何设计OLAP系统的一般流程。但企业OLAP系统的实际建设,是一项复杂的系统工程,需要经过反复的调研和不断的完善,才能更有效的用于数据的分析和挖掘,从而提高企业的决策力和竞争力。

图3 数据的多维分析

[1] 高洪深.决策支持系统(DSS)理论与方法(第四版)[M].北京:清华大学出版社,2009.

[2] 郑悦林,郑霞忠,邓康林.基于SQL Server 2005的超市商业智能模型[J].中国管理信息化,2008,(4).

[3] 蒲晓湘.基于MS Analysis Services的联机分析处理技术应用研究[D].重庆:重庆大学,2004.

[4] 林杰斌,刘明德,陈湘.数据挖掘与OLAP理论与务实[M].北京:清华大学出版社,2002.

[5] 王征,李家兴.SQL Server 2005实用教程[M].北京:清华大学出版社,2006.

猜你喜欢
数据仓库数据量服务器
基于大数据量的初至层析成像算法优化
计算Lyapunov指数的模糊C均值聚类小数据量法
高刷新率不容易显示器需求与接口标准带宽
宽带信号采集与大数据量传输系统设计与研究
电子制作(2019年13期)2020-01-14 03:15:18
通信控制服务器(CCS)维护终端的设计与实现
基于数据仓库的住房城乡建设信息系统整合研究
分布式存储系统在液晶面板制造数据仓库中的设计
电子制作(2016年15期)2017-01-15 13:39:15
得形忘意的服务器标准
知识产权(2016年8期)2016-12-01 07:01:13
探析电力系统调度中数据仓库技术的应用
计算机网络安全服务器入侵与防御