数据仓库研究及其在现代企业中的应用
张凤荔 葛晓峰 周明天 E-Works

1数据仓库与OLAP

    1·1从数据库到数据仓库

    过去几十年中,数据库技术,特别是OLTP(在线事务处理)发展得较为成熟,它的根本任务就是及时地、安全地将当前事务所产生的记录保存下来。随着社会的发展,人们提出了利用现有的数据,进行分析和推理,导致了决策支持系统(DSS)的产生.随着数据量的迅速增大以及查询要求的复杂化,建立在OLTP的数据库上的DSS,暴露出许多难以克服的困难:

    1)缺乏组织性。各个部门抽取的数据没有统一的时间基准,抽取算法、抽取级别也各不相同,并且可能参考了不同的外部数据。

    2)效率极为低下,数据难以转化为有用的信息。原始状态中的大量数据,同一字段在不同应用中又可能存在着同名异义、异名同义、类型不同、字长不同等许多难以识别的麻烦。

    3)其他困扰着基于传统DBDSS的问题。DSS对OLTP性能的影响是难以忍受的。另外,OLTP的DB各个应用领域的数据保存期限都不一样,难以满足DSS需要。

    数据仓库最主要的特征是:

    l)数据仓库是面向主题的。它与传统数据库面向应用相对应,主题是一个在较高层次将数据归类的标准,每一个主题对应一个宏观的分析领域。
    2)数据仓库是集成的。原始数据与适合DSS分析的数据之间差别很大。因此,在数据进入数据仓库之前,必然要经过加工与集成。
    3)数据仓库是稳定的。它反映的是历史数据的内容,而不是处理联机数据.因而,数据经集成进人数据仓库后是极少甚至根本不更新的。
    4)数据仓库是随时间变化的。数据仓库内的数据时限要远远长于操作型环境中的数据时限;数据仓库中的数据都是历史数据;数据仓库数据的码键一般都包含时间项,从而标明了该数据的历史时期。

    一种典型的数据仓库结构如图1所示.它分为四级:早期细节级、当前细节级、轻度综合级和高度综合级。原始数据经集成以后,首先进人当前细节级,并根据需要进一步进行综合,进入轻度综合级乃至高度综合级,老化的数据则进入早期细节级。数据仓库中存在着不同的细节级别,称之为“粒度”.粒度越高表示细节程度越低、综合程度越高。数据仓库的另一个重要技术是如何定期向数据仓库追加数据.常用的技术租方法有:

  时标方法:如果数据含有时标,只需根据时标判断即可.
    DELTA文件:由应用生成,记录应用所改变的所有内容。
    前后映象文件的方法:在抽取数据前后对数据库各作一次快照,然后比较两幅快照的不同从而确定新数据。
    日志文件:它不会影响OLTP的性能.同时,它还具有DELTA文件的优越性质,提取数据只要局限于日志文件.

    1.2从OLTP到OLAP

    OLAP(在线分析处理)是以数据库或数据仓库为基础的,其最终数据来源与OLTP一样,均来自底层的数据库系统。OLTP面对的是操作人员和低层管理人员,而OLAP面对的是决策人员和高层管理人员,所使用的经综合提炼的历史数据均来自OLTP所依赖的底层数据库,OLAP数据较之OLTP只数据要多一步数据多维化或预综合处理。
    数据模型的分类如表1所示。

 

  绝对模型(CategoriealModel):属于静态数据分析。它通过比较历史数据值或行为来描述过去发生的事实。
    解释模型(ExegetiealModel):用户一分析人员利用系统已有的层次综合路径层层细化,找出事实发生的原因。
    思考模型(ContemplativeModel):属于动态数据分析,它旨在说明在一维或多维上引入一组具体变盘或参数后将会发生什么。
    公式模型(FormulaicModel):是动态性最高的一类模型,表示在多个维上,需要引入哪些变量或参数,以及引入后所产生的结果。

    OLAP是应企业动态分析而产生的,其功能是通过创建、操作、激活及综合来自解释模型、思考模型及公式模型中的信息。它可以识别变量间的新的或不可预知的关联,通过创建大量的维(综合路径)及指定维间的计算条件和表达式来处理大量数据。

    数据仓库系统由三部分组成:数据仓库(Dw)、数据仓库管理系统(DWMS)和数据仓库工具。从数据仓库体系结构(图2)可以清楚地看到这三部分的关系。

 

    在整个系统中数据仓库居于核心地位,是信息挖掘的基础;数据仓库管理系统负贵管理整个系统的运转,起着承上启下的作用;而数据分析工具则是整个系统发挥作用的关键,只有通过高效的工具,数据仓库才能真正发挥数据宝库的作用。

    信息处理的多层次要求导致了一种新的数据环境一操作数据库ODS的建立.ODS一方面包含细节的、当前或接近当前的数据,可进行联机操作型处理;另一方面,又是一种面向主题、集成的数据环境,可以辅助企业完成日常决策。

2数据仓库在现代企业中的应用

    2.1一个销售系统的结构与工作原理

 

   恩威公司销售分系统的数据库结构如图3所示。其中:各分公司的OLTP数据库位于各分公司的高性能PC机上,由SQLAnywher。管理。主要用于各分公司的日常事务处理,涉及到日常销售、回款、仓储管理等诸多方面。通过X.25或电话拨号上网与总部OLTP数据库进行数据交换.销售总部OLTP数据库位于公司总部的数据服务器上,由SybaseSQLServor管理。主要用于公司销售总部的日常事务处理,包括销售人员档案管理、业绩考核、日常计划的制定以及销售总部自身的销售业务等。该数据库的地位和作用在很大程度上相当于一个ODS。

    销售数据仓库完整的工作过程如图4所示。其中的OLAP工具部分由虚线框界定,表示在该系统中尚且缺乏,目前在这个位置上工作的只是一些模型化的工具。而在IT软件市场上己经出现了许多实用的OLAP产品,通过考察和引进,相信这个问题在不远的将来即可得到完善的解决。

 

   2.2销售数据仓库的逻辑设计

    在销售数据仓库的逻辑设计中,我们采用了流行的星型模式(StarSchema)。星型模式是基于关系型数据库,面向OLAP的一种多维化的数据组织方式。

    2.2.1星型模式的有关棍念。关系型结构能较好地适应多维数据的表示和存储.关系数据库将多维数据库中的多维结构划分为两类表:一类是事实(Fact)表,用来存储事实的度量值及各个维的码值;另一类是维表,对每一个维来说,至少有一个表用来保存该维的元数据,即维的描述信息,包括维的层次及成员类别等。在相关事实表中,这些值会衍生出该维的列。事实表是通过每一个维的码值同维表联系在一起的,该结构即被称为“星型模式”(如图5)。.

 

   有时,对于内部层次复杂的维,可以用多张表来描述一个维。比如,产品维可以进一步划分为类型表、颜色表、商标表等,这样,在“星”的角上又出现了分支。这种变种的星型模型被称为“雪片模式”(SnowFlakeSehema)。对层次复杂、成员类较多的维采用多张表来描述,而对于较为简单的维可以用一张表来描述。

 

   2.2.2其体设计方案。基于销售部的日常业务,我们选择了销售金额与回款金额这两个墓本事实。并选定了与之相关的四个维一时间、市场(地区)、产品和客户.

    于是,事实表的结构可以表示如下:

 

   为了提供详尽的销售业务信息,该事实表的时间维采用了_比较小的粒度,精确到每天。由于客户和市场是紧密联系的,因此,该事实表的大小仅与产品、客户以及时间的粒度有关。

    市场维是最为复杂的一个维,该维是层次结构的。具体分为分公司、小组和基本市场三个层次。在DW中,市场维表主要有如下一些信息:可以看出,上表中的数据只能来自统计局的年
鉴,更新周期为一年。我们将市场维表的时间粒度定为一年。市场代码为6位,符合严格的分段编码原则,具体规则如图7所示。

 

   调整前后的代码是一一对应的、当然,在事实表中的市场代码也必须作相应的调整,否则,Dw将无法工作。

    产品维表除了产品代码、时间外,还含有名称、规格、单价、剂型(片剂、药膏、药液)等信息。我们将产品维表的时间粒度也定为一年.

    客户维表直接利用公司销售部的客户档案,为了不影响OLTP系统的效率,DW中实际便用的是该档案的一个拷贝,该拷贝定期根据OLTP数据库中的客户档案进行刷新。-

    另外,DW中还存放有销售人员、专家顾问和客户的一些统计信息。这些信息目前可供查询和生成相应的报表,而在不远的将来,当DW拓展主题、加大规模时,这些数据就成为充实DW的资源。

    2·3数据采集的实现

    数据采集是数据仓库建设阶段的关键所在,亦是数据仓库维护阶段的主要工作之一。在数据采集的实现中有两个间题必须予以重视:一是采集的周期和时机。二是净化、集成数据,生成纯净、统一的企业数据视图。

    目前,数据采集的工作是通过前端应用来完成的,其技术基础是PowerBuilder提供的数据库控件“管道”。数据采集模块的流程如图8所示。

 

   之所以要给DBA‘二个强行执行的机会是基于这样的考虑:新旧两套系统双轨运作的时期,必须允许DBA采取一些非常措施,以确保数据采L集的连续性。另外,以上流程图中各部分的具体细节,尤其是与业务紧密相关的那部分一例如销售合同OLTPDB中的数据何时可以丢弃,何时该当作坏账处理,又怎样回收坏账等一需要在系统试运行中逐渐地予以明确和实现,其中很多的工作还有赖于财务、储运、人事等部门的支持与合作。

    2. 4数据的可视化呈现

    直观的、多样化的数据呈现是OLAP类工具所必不可少的特征之一。一般地,管理人员由可视化的统计图中能够更快地获得各种趋势信息,因此尽可能地使数据呈现可视化将是博得管理人员认可的有效途径。在将后端数据转化为可见的统计图的过程中必须解决如下两个关键性问题:

    1)重组数据。由于后端数据在到达统计图之前必须通过一定的转换,形成一种多维的数据视图,用OLAP的术语来说就是数据的多维化一般说来,诸如销售、生产、计划等写时何紧密相关的数据必然含有时间维,而人员构成、客户档案等数据则不会有时间维。多维化的途径仍然是通过SQL语句来重组数据。

    2)维的操作。主要有切片和切块,事实上就是对数据的过滤。当对某一维只保留单一值时即称为对该维切片,例如指定日期二1997/。7/24即是对白期的切片。反之,指定如‘旧期在1997/。6/01到1997/。6/3。之间”一类范围的过滤即被称为切块.必须仔细地分析各数据维的可操作性以及固有的相关程度,有时统计图类型(折线图、条形图、堆积图、饼图以及散点图等)也不得不作为一个维来对待。

3数据挖掘与决策支持系统

    数据挖掘是一种从大型数据库或数据仓库中提取隐藏的预测性信息的新技术,它能挖掘出数据间潜在的模式,找出最有价值的信息。数据挖掘的思想依赖于以下三个技术的支持程度;‘大视模数据采集、功能强大的并行多处理器计算机、教据挖掘算法.数据挖掘可实现的功能有:自动预侧趋势和行为;自动发现以前未知的模式。

    虽然数据仓库、OLAP和数据挖掘最初是作为三种独立的信息处理技术出现的,但是,由于它们内在的联系和互补性,今天,pw+OLAP十DM的结构己被业内人士公认为是DSS的有效解决方案。这种全新的DSS构架的真正意义在于重新展示了信息的本质,表明了信息系统的设计观念从处理驱动到数据驱动的转变。在未来的时代,信息的重点将转移到数据模式分析,处理技术则是应数据分析的需要而产生的。

CIO之家 www.ciozj.com 公众号:imciow
关联的文档
也许您喜欢