您现在的位置是:首页 > IT基础架构 > 软件与服务 >
基于数据仓库的企业OLAP多维模型的设计与实现
摘要本文对OLAP与OLTP进行了比较,讨论了OLAP多维性等特点,以此说明运用OLAP实现数据分析的关健是多维数据视图的设计与实现,在此基础上研究了基于数据仓本的OLAP多维摸型,并结合实例给出了多维教据视图设计与实现的方法。 ...
在市场经济的激烈竞争中,企业必须把业务经营同市场需求联系起来,在此基础上做出科学、正确的决策,为此企业纷纷建立起了自已的数据库系统,并以此来收集、存储、管理业务操作数据,提高工作效率。然而进入20世纪90年代以来,计算机得到了空前厂泛的应用,数据库应用也在不断推广,对数据的处理也呈现出了多层次的特点,这样对数据的处理就被划分为两大类,一类是事务处理,另一类是分析型处理。前者主要是针对数据的日常操作,以事务快速响应及频获的数据修改为特征,后者则主要用于决策分析,以支持决策。如DSS、多维分析等,它们往往需要大级的历史数据。事务处理与分析型处理二者之间的差异使得两类数据处理的分离成为必然,而对于分析型数据处理的要求现有的数据库应用系统是很难满足的,由此可见传统的数据库应用系统并不能很好地支持决策。
近几年来,在信息技术领域兴起并日益成熟的数据仓库技术成为研究和应用的热点。数据仓库是一种能访问名种数据库,把各种源数据库集成一个统一的目标数据库(即DWH),并能把各种数据转换成面向主题(Subject Oriented)的格式,能从异构的数据源中定期抽取、转换和集成所需要的数据,更于最终用户访问并能从历史角度进行分析,最后做出战略决策的信息管理技术。其数据具有面向主题、面向分析、集成、相对稳定并随时间增加而变化等特点。将数据仓库技术应用到企业管理中,借助其在线分析处理(OLAP)支持组织机构管理决策的优秀功能就可以利用存储在数据仓库中的数据进行各种分析操作,并以较为直观易懂的形式将结果返回给用户,并最终为企业建立一个全面、完善的信息应用基础,以支持企业的高层决策分析。
1 基于数据仓库的OLAP多维模型
1.1 OLAP与OLTP
数据库系统作为数据管理手段,从其诞生开始就主要用于批处理、联机事务处理(OLTP),它是事件驱动、面向应用的。其基本特点是:对响应时间要求高;用户数量大,这些用户主要是系统操作人员;按用户要求对数据进行查询和处理,为用户提供所需的、支持操作的当前数据细朽。作为数据管理的手段,OLTP在对分析处理的支持上一直不能令人满意。为此,有必要对OLTP数据进行再加工,形成一个综合且面向分析的环境,以更好地支持决策分析。
OLAP(On-Line Analytical Processing)是一门软件技术,专门设计用于支持复杂分析操作、侧重对决策人员和高层管理人员的决策支持,可以应分析人员要求快速、灵活地进行大数据,的复杂查询处理,并以直观的形式提供查询结果。它使分析人员通过对信息的多种可能的观察角度进行快速、一致和交互性的存取以获得对信息的深入理解。其具有两大特性:多维性和在线性(On-Line)。
多维性是OLAP的关键属性。OLAP支持最终用户进行动态多维分析,其中包括对层次维和多翼层次维的建模;对多维数据集中的数据用切片、切块、聚合、旋转、钻取等方式分析数据,以求剖析数据使用户能够从多种维度、多个侧面、多种数据综合度查看数据,从而了解数据背后蕴含的规律。事实上,多维分析是分析企业数据最有效的方法,是OLAP的灵魂。
在线性表现在OLAP对用户请求的快速响应和交互操作。OLAP主要针对特定问题的联机数据查询和分析,因此在做查询分析中首先需要按照用户的观点进行转换处理,使其成为真正能够反映用户问题的某个方面,并且允许用户对这些数据按照需要进行深入的观察;在线性另一个方面,就是用户对OLAP的快速反应能力有很高的要求,系统应能在5秒内对用户的大部分分析要求做出反应。如果终端用户在30秒内没有得到系统响应就会变得不耐烦,因而可能失去分析主线索,影响分析质量。
对于企业来说,其在日常的经营活动过程中会积累大量的多维数据。企业除了希望以较高的效率生成或捕获诸如订单、客户、产品等方面的信息,同时也希望按产品、销售人员、地理分布、客户和时间来跟踪产品的销售情况。以上所涉及到的产品、销售人员、地理分布、客户和时间等方面就是企业销售分析环境中的各个“维”,要想以轻松自然的方式获取、操纵和分析这些多维数据,OLAP所支持的多维分析视图与各种操作正好可以实现这一要求。
1.2 OLAP的多维分析视图
OLAP是面向特定问题的联机数据访问和分析。OLAP要求在逻辑上采用多维的方式来组织和处理数据,以多维方式显示和分析数据,从而使分析人员、管理人员鱿执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解,其目标就是满足在多维环境下特定的查询和报表需求,可见OLAP的技术核心是“维”这个概念。
“维”是人们观察客观世界的角度,是一种高层次的类型划分。例如,对于企业来说它可能比较关心产品的销售数据随时间变化的情况,那么这时就需要从时间的角度对销售数据进行观察和分析,这里就涉及到了与企业销售情况有关的一个维度,即时间维;再如,企业如果想了解产品销售在各个地域的分布情况,那么这里所涉及的就应该是地域维了,因为此时企业需要从地域角度来观察和分析销售数据。通过把一个实体的多项重要的属性定义为多个维(dimension),使用户能对不同维上的数据进行比较。
“维”一般包含着层次关系,例如从时间维上来看就可以分为年、季度、月、日等层次,再如地域维又可以分为“国家”、“地区”、“省”、“市”等层次。层次是人们观察数据细致程度的体现,这种层次关系有时会相当复杂。
在OLAP的多维分析视图中,还有一个非常重要的概念就是事实,事实实际上是不同维度在某一取值下的交叉点,是对某一事件的度里。例如企业关于“某年某季某月在某个地区的销售额”就反映了在时间和地域两个维度上企业销售事实的度最,同时在此销售事实中体现了时间维度的三个层次,即年、月、季度。如果考虑企业销售事实有关的所有维度,就形成了关于销售的OLAP的多维分析视图,如图1所示。
在OLAP的多维分析视图的基础上,就可以对多维数据集中的数据进行OLAP多维分析处理了,包括切片(Slice,对多维数据集的某个维选定——维成员)、切块(Dice,在多维数据集上对两个或两个以上的维选定维成员)、旋转(Pivot,将多维数据集中的不同维度进行交换)等方式,以求剧析数据使用户能够从多种维度、多个侧面、多种数据综合度查着数据,从而了解数据背后蕴含的规律。
2 OLAP多维模型的设计与实现
2.1 OLAP多维模型的设计
OLAP专门用于支持复杂的决策分析,是支持信息管理和业务管理人员决策活动的一冲决策分析工具。它可以根据分析人员的要求,迅速、灵活地对大量数据进行复杂的查询处理,并且以直观的、容易理解的形式将查询结果提供给各种决策人员,使他们迅速、准确地掌握企业的运营情况,了解市场需求。而要进行OLAP多维数据分析就需要根据分析需求,同时结合数据仓库中的数据结构和特点建立OLAP多维模型。由于目前关系型的数据库理论已经非常成熟,因此对OLAP多维数据的表示和存储可以关系数据库为核心,利用关系型结构来进行设计。
基于关系型的OLAP多维分析模型的设计结构主要有星型模型和雪花模型两种。它们都使用关系表来表达OLAP多维信息,在进行模型设计时对多维结构进行了分解,将其划分成了两类表:维表和事实表。前者用来存储维的层次、成员类别等维的描述数据,后者则用来存储指向各个维的外关健字和一些相应的测量数据。维表和事实表通过主关键字和外关键字相联,这种结构被称为“星型”模型;而对于层次较为复杂的维,为了避免冗余数据占用过大的存储空间,原有的各维表可能会被进一步扩展为小的事实表,形成一些局部的“层次”区域,这种结构是对“星型”模型的扩展,称为“雪花”模型。根据两种模型的特点,本文以某医药企业为例设计了基于医药企业的药品销售事实的OLAP“雪花”模型,如图2所示。
在图2的OLAP销售多维模型中体现了销售事实的度量(销售数最、销售额、平均价格)以及影晌销售事实的各个因素,即OLAP的维度,这些维度包括时间维(包括年、季度、月、日等4个层次)、地域维(用以反映事件发生所在的地域信息,包括省、市)、药品维(包括类别、药品名)、客户维(包括客户类别、客户名称)。
为体现各个维度及销售事实度母,模型设计了一个销售事实表和多个维表。事实表用于存放销害的事实数据,即度,值;维表存放了影晌销售的各维度信息;事实表和维表之间是通过存储在事实表中的指向各个维表的指针(即外键,时间编号、药品编号、客户编号等)与存放在不同的维表(时间维表、客户维表、药品维表等)中与这些外健相对应的主键的链接而联系起来。对事实表的查询就是获取指向维表的指针,当对事实表的查询与对维表的查询结合起来时就可以检索大最的信息。
2.2 实现OLAP梢售多维模型
OLAP多维模型的设计是实现OLAP多维分析的基础,要实现如图2所示的OLAP多维模型还需要解决以下几个问题:a.提取、清洗所需数据组成数据仓库;b.利用OLAP引擎建立相应的销售分析的OLAP立方体;c.使用前端开发工具,访问OLAP立方体中包含的对象和集合。
对于数据仓库和OLAP立方体的建立本文选用了SQL Server 2000 Analysis Services作为数据仓库支撑平台,SQL server 2000的Analysis Services是一个管理多维数据集的服务器,数据源可来自任何支持ODBC或OLEDB接口的关系数据库系统,其提供的DTS组件可通过ODBC接口连接数据源并抽取数据,实现高效地将数据加载到SQL Serve 2000的数据仓库中;服务器支持MDOLAP、ROLAP和HOLAP三种存贮模式,用户自己定义使用的存贮模式,定义各个维度并建立销售多维数据集。
数据仓库及OLAP立方体的建立为OLAP多维数据分析提供了数据基础,在此基础上用户借助于用户端的应用就可以访问OLAP多维数据集,进行查询和分析。本文在对OLAP销售多维模型的实现上采用了基于Web的方式,即为用户提供了一种通过Web页访问分析服务器中的多维数据集的方式。
要实现在Web页上访问分析服务器中的多维数据,通常有两种方法:一是采用MDX. ADO MID与ASP相结合的方法。MDX是一种支持OLAP的数据库语言,它允许用户对Analysis Services多维数据集的查询,通过MDX的操作用户就可以很方便地从Analysis Services中检索多维数据;ADO MID是一种功能弧大的对象模型,它包含了访问OLAP数据库中多维数据集所需的各种对象和集合,并支持MDX语句的执行及对结果数据集的分析,利用ADO/MD就可以将MDX的执行结果集成到ASP开发的客户应用程序中,以此实现访问分析服务器上的数据并将结果显示在Web页上。另一种方法则是利用在Web页上插入Office Web组件(OWC,Office Web Components)。OWC是随Microsoft Office一起发行的一套组件,用于在Web浏览器和传统的开发环境中建立数据分析和数据报表解决方案。OWC提供了一个控制PivotTabte的工具,它可以从Analysis Services多维数据集中显示数据。对于第一种方法,在实现过程中容易受到ASP技术中执行脚本的限制,并且很难以图形化的方式显示结果。相比之下利用Office Web组件则可以充分利用OWC中数据透视表和透视图的强大功能。鉴于这一点,本文选用了在Web页上插入Office Web组件以达到通过Web页访问销售多维数据集中的数据目的。
这里主要用到了两种Office Web组件:数据透视表组件PivotTale和图表组件ChartSpace。数据透视表组件支持各种OLAP操作。包括钻取、切片、旋转,且操作简便;图表组件支持多种图表(包括往形图、饼图、条形图等),它可以和数据透视表组件捆绑在一起发布。在Web页上插入数据透视表组件和图表组件的代码如下:
<!-嵌入名称为“PivotTablel”的数据透视表组件→
<!-嵌入名称为“ChartSpacel”的图表组件→
插入Office Web组件后还需要与分析服务器连接,方法如下:a.在IIS服务器下建立一个虚拟目录,并命名,如yyxs;b.在虚拟目录对应的实际物理目录下添加一个名为msolap.asp的文件,该文件位于将Analysis Services下的Bin目录下只需将该文件拷贝过去即可;c.设置参数,实现与分析服务器的连接。
PivotTablel.connectionstring=& quot;provider=msolap.asp;
data source=http://yyx//yyxs;
initial catalog=hmh;& quot;;
PivotTablel.datamember=& quot;销售 & quot;;
with(PivotTablel.activeview)
其中data source用于指定分析服务器名;initial catalog,表示要连接的多维分析数据库hmh;为数据透视表组件“PivotTablel”指定datamember为销售多维数据集。图3显示了嵌入两种OWC并与分析服务器建立连接后,在用户端的Web页上所显示的OLAP销售分析多维视图。
在图3所示的数据透视表中通过点击数据项左边的“+”、“-”来展开隐藏数据项,即进行钻取;点击字段旁的下拉按钮,就可以对字段进行筛选(切片);拖动字段就可以改变视图的布局和位置(旋转)。在进行OLAP操作的同时,在数据透视表下万的图表也会随着透视表中数据的变化而改变,从而满足了用户多角度数据分析的要求。
3 结束语
数据仓库具有支持企业决策的能力,但在实际应用过程中影响企业决策的因素却有很多,决策时必须将这些多维因素综合起来加以分析,为此必须构建符合企业实际的多维分析空间,在数据仓库中这主要是诵过定义多维的数据模型来实现的。本文设计了一种基于销售的OLAP多维分析模型,并通过在Web页上插入数据透视表组件和图表组件并与分析服务器建立链接的方法实现了该OLAP多维分析模型,满足了用户对多维数据的查询和分析的需要。
(本文不涉密)
责任编辑:
上一篇:BI为什么很难走到中小企业中去?
下一篇:决策树算法在焊接工艺设计中的应用