(一)数据仓库的基本概念和特点
1.数据仓库的概念
现代社会的发展在信息流上取决于信息的获取与处理技术,信息的价值在于用户通过使用这些信息从中得到收益,工作的要点不是简单地处理数据,而是如何使用数据,从数据中挖掘出有用的信息。数据仓库是在关系数据库中存储数据和处理数据,并且使得数据更加有力地支持决策分析,其主要目的是通过收集、过滤和存储数据来寻找数据的趋势,帮助企业制定有关经营方面的决策。
目前,数据仓库一词尚没有一个统一的定义,著名的数据仓库专家W.H.Inmon在其著作《Building the Data Warehouse》中给予如下描述:数据仓库(data warehouse)是一个面向主题的(subject oriented)、集成的(integrate)、相对稳定的(non-volatile)、反映历史变化(time variant)的数据集合,用于支持管理决策。对于数据仓库的概念可以从2个层次予以理解:首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源的有效集成,集成后按照主题进行重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。
(1)数据仓库数据库。它是整个数据仓库环境的核心,是数据存放的地方,提供对数据检索的支持。相对于操作型数据库来说其突出的特点是对海量数据的支持和快速的检索技术。
(2)数据抽取工具。把数据从各种各样的存储方式中取出来,进行必要的转换、整理,再存放到数据仓库内。对各种不同数据存储方式的访问能力是数据抽取工具的关键,应能生成COBOL程序、MVS作业控制语言(JCL)、UNIX脚本、SQL语句等,以访问不同的数据。数据转换包括:删除对决策应用没有意义的数据段;转换到统一的数据名称和定义;计算统计和衍生数据;给缺省数据赋予缺省值;把不同的数据定义方式统一。
(3)元数据。元数据是描述数据仓库内数据的结构和建立方法的数据。可将其按照应用用途分为两类:技术元数据和商业元数据。
(1)技术元数据。技术元数据是数据仓库的设计和管理人员用于开发和日常管理数据仓库使用的数据,包括数据源信息、数据转换的描述、数据仓库内对象和数据结构的定义、数据清理和数据更新使用的规则、元数据到目的数据的映射、用户访问权限、数据备份历史记录、数据导入历史记录、信息发布历史记录等。
(2)商业元数据。商业元数据是指从商务业务的角度描述数据仓库中的数据,包括业务主题的描述、包含的数据、查询和报表等。
元数据为访问数据仓库提供了一个信息目录(Information Directory),这个目录全面描述了数据仓库中都有什么数据,这些数据是怎么得到的和怎么访问这些数据。元数据是数据仓库运行和维护的中心,数据仓库服务器利用它来存储和更新数据,用户通过它来了解和访问数据。
(4)访问工具。它是为用户访问数据仓库提供手段,主要包含数据查询和报表工具、应用开发工具、管理信息系统(MIS)工具、在线分析(OLAP)工具、数据挖掘工具。
(5)数据集市(Data Marts)。它是为了特定的应用目的或者应用范围而从数据仓库中独立出来的一部分数据,也可称为部门数据或者主题数据。在数据仓库的实施过程中往往可以从一个部门的数据集市着手,以后再用几个数据集市组成一个完整的数据仓库。需要注意的是在实施不同的数据集市时,同一含义的字段定义一定要相容,这样在以后实施数据仓库时就不会造成大麻烦。
(6)数据仓库管理。这是指管理数据仓库所用到的手段,包括安全和特权管理,跟踪数据的更新,数据的质量检查,更新和管理元数据,审计和报告数据仓库的使用状态,删除数据,复制、分割和分发数据,备份和恢复数据等。
(7)信息发布系统。它把数据仓库中的数据或其他相关数据发送给不同的地点或用户,基于Web的信息发布系统是对付多用户访问的最有效方法。
2.数据仓库的特征
(1)数据仓库应该是面向主题的,传统的数据仓库是面向应用设计的,而主题是在一个较高层次将数据归类的标准。
(2)数据仓库应该是一致的数据集合,应用程序常常以不同的格式使用类似的数据。
(3)存储在数据仓库中的数据可以正确地表示任何时间的任何值。
(4)数据仓库必须是比较稳定的。
其中,稳定是指一旦某个数据进入数据仓库,一般情况下将被长期保留,也就是数据仓库中一般有大量的插入和查询操作,但修改和删除操作很少。反映历史变化是指数据仓库内的信息并不只是关于企业当时或某一时点的信息,而是系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。数据仓库概念的提出,使数据操作型环境与数据分析型环境分离开来,通过建立一种数据存储体系结构,把分散的、不利于访问的数据转换成集中、统一、随时可用的信息,以供信息化和分析处理之用。
(二)数据仓库的构建
数据仓库的构建过程实际上是从传统的以数据库为中心的操作型系统结构转移到以数据仓库为中心的体系结构的过程,具体实现过程如下:
1.概念模型设计阶段
这阶段的主要工作是进行概念模型设计、界定系统边界、确定主要的主题域及其内容,即要建立模型并且选取主题,模型的建立是从用户的角度对所需数据的内容以及数据间关系的抽象。
2.技术准备阶段
这一阶段的工作包括:技术评估、技术环境准备、对现有的技术方案进行评估,以确保方案的可行性。如果方案可行性成立,要对方案中所涉及的环境因素进行准备。
3.逻辑模型设计阶段
选择数据颗粒度,对于不同的数据量将选择不同的数据颗粒度策略。分析主题域,按照时间对表进行分割,细节数据的时间短,而综合数据的时间稍长。
4.数据抽取和数据加载阶段
将数据资源从外部抽取到数据仓库中,在此过程中应该依据元数据中定义的标准数据格式处理数据,在数据被抽取后,对准备进行加载的数据进行清理,然后加载到数据仓库中。
5.OLAP模型设计阶段
OLAP是针对某个特定的主题进行的联机数据访问、处理和分析,通过直观的方式从多个维度、多种数据综合程度将系统的运营情况展现给使用者。
6.数据挖掘模型设计阶段(www.daowen.com)
在进行数据挖掘的时候,将数据宽表划分成训练集合和验证集合,在没有挖掘模型时可以使用训练集合对数据进行训练,逐渐确定模型中的参数。在模型建立后,利用验证集合对模型进行评价。
7.数据仓库生成阶段
这一阶段所要做的工作是接口编程、数据装入。根据前几个阶段的研究成果设计接口,确定数据装入的次序,清除无效或错误数据,当数据装入数据仓库后建立数据仓库的应用,即DSS应用。
8.数据仓库运行与维护阶段
使用数据仓库理解需求,调整和完善系统,维护数据仓库,建立起操作型和分析型的数据环境。
(三)数据仓库的体系结构
在数据仓库中数据存在着不同的细节级:早期细节级(通常是备用的、批量的存储)、当前细节级、轻度综合数据级(数据集市)以及高度综合数据级。数据是由操作型环境导入数据仓库的。相当数量的数据转换通常发生在由操作型级别向数据仓库级别传输的过程中。
一旦数据过期,就由当前细节级进入早期细节级。综合后的数据由当前细节级进入轻度综合数据级,然后由轻度综合数据级进入高度综合数据级。
整个数据仓库系统是一个包含4个层次的体系结构。
1.数据源
这是储存在数据仓库中的数据来源,主要包括从业务系统获得的业务数据和外部数据源。业务数据指储存于关系数据库中的数据,是数据仓库的主要来源。外部数据指从企业外部获取的数据,如行业标准数据、市场行情数据等,企业搜集进自己的数据仓库系统,为管理决策提供服务。还包括历史数据、办公数据、Web数据。
2.数据准备区
通过一个数据采集模块将数据汇总成一个集中的、以统一格式存储的数据缓冲区。数据进入缓冲区后,数据的形式和内容并没有发生变化,但存储的格式和平台达到了统一,方便数据加载的读取。
3.数据加载模块
数据加载又称为ETL(extract transformation load),其主要任务包括数据的抽取、清洗、转换和加载等。ETL推动着数据从数据缓冲区流向数据仓库的上层。外部数据源提供的数据并不是完美的,存在很多“脏数据”,即数据有空缺、不正确、不一致等缺陷。所以必须对数据进行必要的清洗,从而得到准确的数据。
数据转换是将数据源中的数据根据转换规则转换成数据仓库中的数据。转换规则一般包括数据类型转换、数据表示方法(如命名代码统一、汉字编码统一、度量衡表示的统一等)、命名转换、数据综合、数据筛选。数据转换的实施一般通过相应的软件工具实现。
4.操作型数据存储模块
它又称为ODS(operational data store),是整个数据仓库的主要数据存储地之一。ODS是一个集成和集中化的数据存储,由多个主题的企业级数据组成,包括低层的、细粒度的、需要长期保存的数据。ODS是“用企业级的实体关系(ER)模型来存储数据的中央共享业务数据总库”。
5.多维数据存储模块
它又称为DDS(dimensional data store),代表用多维模型存储的数据。DDS采用的是“分主题的多维关系模型”(例如雪花型、星型等)。
6.OLAP数据
它是专门为多维查询应用提供服务的数据。ODS、DDS和OLAP数据构成了数据仓库的数据主体。
(四)数据仓库的数据模型
1.星型模型
从概念模型的设计角度来看,所有实体之间的关系都是对等的。实际上,由于管理决策的原因,数据仓库中的实体绝不是相互对等的。在数据仓库中建立实体时,需要根据载入数据实体的数据量,来考虑数据仓库中数据的结构设计。星型模型通过使用一个包含主题的事实表和多个非正规化描述事实的维度表来支持各种决策查询。星型模型可以采用关系型数据库结构,各个维度表都链接到中央事实表。维度表中的对象通过事实表与另一维度表中的对象相关。通过事实表将多个维度表进行关联,就能建立各个维度表对象之间的联系。每一个维度表通过一个主键与事实表进行链接。这就要求事实表中的外键不得为空,这与一般数据库中允许外键为空不同。如图5-3所示。
图5-3 星型模型
星型模型最大的优点是由于数据的组织已经过预处理,主要数据都在庞大的事实表中,所以只要扫描事实表就可以进行查询,而不必把多个庞大的表链接起来,查询访问效率较高。同时,星型模型比较直观,通过分析星型模型,很容易组合出各种查询。
2.雪花模型
雪花模型是多星型模型的扩充,该模型中,每一个维都可以向外链接到多个详细类别表。维度表除了具有星型模型中的维度表功能外,还链接上对事实表进行详细描述的详细类别表,详细类别表通过对事实表在有关维上的详细描述可以缩小事实表,提高查询效率(如图5-4所示)。
图5-4 雪花模型
由于雪花模型的结构相对复杂,查询需要多1层链接。但雪花模型可以避免维度表的数据冗余,当维度表某一个属性本身拥有很多“属性的属性”,并且数据量较大时就需要使用雪花模型。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。