充值信息

赞助信息

推荐给好友 上一篇 | 下一篇

基于数据仓库的企业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所示。

图1 OLAP的多堆分析视图
图1 OLAP的多堆分析视图


    在OLAP的多维分析视图的基础上,就可以对多维数据集中的数据进行OLAP多维分析处理了,包括切片(Slice,对多维数据集的某个维选定——维成员)、切块(Dice,在多维数据集上对两个或两个以上的维选定维成员)、旋转(Pivot,将多维数据集中的不同维度进行交换)等方式,以求剧析数据使用户能够从多种维度、多个侧面、多种数据综合度查着数据,从而了解数据背后蕴含的规律。

2 OLAP多维模型的设计与实现

    2.1 OLAP多维模型的设计

    OLAP专门用于支持复杂的决策分析,是支持信息管理和业务管理人员决策活动的一冲决策分析工具。它可以根据分析人员的要求,迅速、灵活地对大量数据进行复杂的查询处理,并且以直观的、容易理解的形式将查询结果提供给各种决策人员,使他们迅速、准确地掌握企业的运营情况,了解市场需求。而要进行OLAP多维数据分析就需要根据分析需求,同时结合数据仓库中的数据结构和特点建立OLAP多维模型。由于目前关系型的数据库理论已经非常成熟,因此对OLAP多维数据的表示和存储可以关系数据库为核心,利用关系型结构来进行设计。

    基于关系型的OLAP多维分析模型的设计结构主要有星型模型和雪花模型两种。它们都使用关系表来表达OLAP多维信息,在进行模型设计时对多维结构进行了分解,将其划分成了两类表:维表和事实表。前者用来存储维的层次、成员类别等维的描述数据,后者则用来存储指向各个维的外关健字和一些相应的测量数据。维表和事实表通过主关键字和外关键字相联,这种结构被称为“星型”模型;而对于层次较为复杂的维,为了避免冗余数据占用过大的存储空间,原有的各维表可能会被进一步扩展为小的事实表,形成一些局部的“层次”区域,这种结构是对“星型”模型的扩展,称为“雪花”模型。根据两种模型的特点,本文以某医药企业为例设计了基于医药企业的药品销售事实的OLAP“雪花”模型,如图2所示。

图2  OLAP销售多维模型
图2  OLAP销售多维模型


    在图2的OLAP销售多维模型中体现了销售事实的度量(销售数最、销售额、平均价格)以及影晌销售事实的各个因素,即OLAP的维度,这些维度包括时间维(包括年、季度、月、日等4个层次)、地域维(用以反映事件发生所在的地域信息,包括省、市)、药品维(包括类别、药品名)、客户维(包括客户类别、客户名称)。

    为体现各个维度及销售事实度母,模型设计了一个销售事实表和多个维表。事实表用于存放销害的事实数据,即度,值;维表存放了影晌销售的各维度信息;事实表和维表之间是通过存储在事实表中的指向各个维表的指针(即外键,时间编号、药品编号、客户编号等)与存放在不同的维表(时间维表、客户维表、药品维表等)中与这些外健相对应的主键的链接而联系起来。对事实表的查询就是获取指向维表的指针,当对事实表的查询与对维表的查询结合起来时就可以检索大最的信息。

21/212>


 

评分:0

我来说两句