第2章数据仓库原理本章学习目标:掌握数据仓库的定义,四个基本特征掌握数据集市的概念,与数据仓库区分掌握数据仓库的体系结构掌握数据仓库中数据组织方式掌握数据处理过程掌握元数据的概念、元数据管理的原理第2章数据仓库原理2.1数据仓库定义2.2数据集市2.3数据仓库体系结构2.4数据组织结构和形式2.5数据抽取E、转换T和装载L(ETL)2.6元数据管理2.1数据仓库定义WilliamH.Inmon:数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合,用于支持管理人员的决策。数据仓库之父--BillInmon四个基本特征数据仓库的数据是面向主题的数据仓库的数据是集成的数据仓库的数据是非易失的数据仓库的数据是随时间不断变化的面向主题主题(Subject):特定的数据分析领域与目标。面向主题:为特定的数据分析领域提供数据支持。面向主题为特定数据分析领域提供的数据与传统数据库中的数据是有不同的。传统数据库中的数据是原始的、基础的数据,而特定分析领域数据则是需要对它们作必要的抽取、加工与总结而形成。数据仓库是面向分析、决策人员的主观要求的,不同的用户有不同的要求,同一个用户的要求也会随时间而经常变化,因此,数据仓库中的主题有时会因用户主观要求的变化而变化的。面向主题示例例:一个面向事务处理的“商场”数据库系统,其数据模式如下采购子系统:订单(订单号,供应商号,总金额,日期)订单细则(订单号,商品号,类别,单价,数量)供应商(供应商号,供应商名,地址,电话)销售子系统:顾客(顾客号,姓名,性别,年龄,文化程度,地址,电话)销售(员工号,顾客号,商品号,数量,单价,日期)面向主题示例库存管理子系统:领料单(领料单号,领料人,商品号,数量,日期)进料单(进料单号,订单号,进料人,收料人,日期)库存(商品号,库房号,库存量,日期)库房(库房号,仓库管理员,地点,库存商品描述)人事管理子系统:员工(员工号,姓名,性别,年龄,文化程度,部门号)部门(部门号,部门名称,部门主管,电话)面向主题示例上述数据模式基本上是按照企业内部的业务活动及其需要的相关数据来组织数据的存储的,没有实现真正的数据与应用分离,其抽象程度也不够高。如果按照面向主题的方式进行数据组织,首先应该抽取主题,即按照管理人员的分析要求来确定主题,而与每个主题相关的数据又与有关的事务处理所需的数据不尽相同。主题一:商品商品固有信息:商品号,商品名,类别,颜色等商品采购信息:商品号,供应商号,供应价,供应日期,供应量等商品销售信息:商品号,顾客号,售价,销售日期,销售量等商品库存信息:商品号,库房号,库存量,日期等主题二:供应商供应商固有信息:供应商号,供应商名,地址,电话等供应商品信息:供应商号,商品号,供应价,供应日期,供应量等主题三:顾客顾客固有信息:顾客号,顾客名,性别,年龄,文化程度,住址,电话等顾客购物信息:顾客号,商品号,售价,购买日期,购买量等面向主题在每个主题中,都包含了有关该主题的所有信息,同时又抛弃了与分析处理无关或不需要的数据,从而将原本分散在各个子系统中的有关信息集中在一个主题中,形成有关该主题的一个完整一致的描述。面向主题的数据组织方式所强调的就是要形成一个这样一致的信息集合。不同的主题之间也有重叠的内容,但这种重叠是逻辑上的,而不是物理存储上的重叠;是部分细节的重叠,而不是完全的重叠。面向主题每个主题所需数据的物理存储:多维数据库(MDDB—Multi-DimensionalDataBase)用多维数组形式存储数据。关系数据库。用一组关系来组织数据的存储,同一主题的一组关系都有一个公共的关键字,存放的也不是细节性的业务数据,而是经过一定程度的综合形成的综合性数据。集成的数据是分散的;由于事务处理应用分散、蜘蛛网问题、数据不一致问题、外部数据和非结构化数据。数据仓库中的数据是为分析服务的,而分析需要多种广泛的不同数据源以便进行比较、鉴别,因此数据仓库中的数据必须从多个数据源中获取,这些数据源包括多种类型数据库、文件系统以及Internet网上数据等,它们通过数据集成而形成数据仓库中的数据。集成的集成的方法:统一:消除不一致的现象综合:对原有数据进行综合和计算需要考虑的问题:数据格式计量单位数据代码含义混乱数据名称混乱非易失的数据仓库中的数据是经过抽取而形成的分析型数据,不具有原始性,主要供企业决策分析之用,执行的主要是‘查询’操作,一般情况下不执行‘更新’操作。同时,一个稳定的数据环境也有利于数据分析操作和决策的制订。但这也不等于数据仓库中的数据不需要‘更新’操作。在需要进行新的分析决策时,可能需要进行新的数据抽取和‘更新’操作数据仓库中的一些过时的数据,也可以通过‘删除’操作丢弃掉。因此数据仓库的存储管理相对于DBMS来说要简单得多。随时间不断变化数据仓库中的数据必须以一定时间段为单位进行统一更新。不断增加新的数据内容不断删去旧的数据内容更新与时间有关的综合数据2.2数据集市(DataMart)建立数据集市的原因数据仓库是一种反映主题的全局性数据组织。但是,全局性数据仓库往往太大,在实际应用中将它们按部门或个人分别建立反映各个子主题的局部性数据组织,它们即是数据集市。因此,有时我们也称它为部门数据仓库。例:在有关商品销售的数据仓库中可以建立多个不同主题的数据集市:商品采购数据集市库房使用数据集市商品销售数据集市数据集市类型按照数据获取来源:独立型:直接从操作型环境获取数据。从属型:从企业级数据仓库获取数据。建设途径从全局数据仓库到数据集市从数据集市到全局数据仓库数据仓库VS数据集市数据仓库与数据集市的关系类似于传统关系数据库系统中的基表与视图的关系。数据集市的数据来自数据仓库,它是数据仓库中数据的一个部分与局部,是一个数据的再抽取与组织的过程。2.3数据仓库体系结构数据仓库系统由数据仓库(DW)、仓库管理和分析工具三部分组成ORACLEORACLESYBASESYBASESQLServerSQLServer文件文件……数据集市数据集市数据集市数据建模数据建模数据仓库元数据管理元数据管理抽取……数据仓库系统示意图分析工具(OLAP、数据挖掘)过程模型数据仓库管理系统元数据多维关系数据库多维数据库外部操作型数据数据抽取数据清洁数据装载管理平台报表查询工具数据挖掘工具OLAP工具仓库管理-数据建模数据建模是建立数据仓库的数据模型。数据仓库的数据模型不同于数据库的数据模型在于:数据仓库只为决策分析用,不包含事务处理的数据。数据仓库的增加了时间属性数据。数据仓库增加了一些综合数据。数据仓库的数据建模是适应决策用户使用的逻辑数据模型。仓库管理-元数据管理昀基本的元数据相当于数据库系统中的数据字典。元数据定义了数据仓库有什么,指明了数据仓库中数据的内容和位置,刻画了数据的抽取和转换规则,存储了与数据仓库主题有关的各种商业信息,而且整个数据仓库的运行都是基于元数据的。数据源的元数据数据模型的元数据数据仓库映射的元数据数据仓库使用的元数据仓库管理-数据处理异构数据源:企业内部数据存档的历史数据企业的外部数据。软硬件平台不一致ETL过程抽取(Extraction)转换(Transform)装载(Load)分析工具-查询工具数据仓库的查询不是指对记录级数据的查询,而是指对分析要求的查询。一般包含:可视化工具:以图形化方式展示数据,可以帮助了解数据的结构,关系以及动态性。分析工具-多维分析工具通过对信息的多种可能的观察形式进行快速、一致和交互性的存取,这样便利用户对数据进行深入的分析和观察。多维数据的每一维代表对数据的一个特定的观察视角,如时间、地域、业务等。分析工具-数据挖掘工具从大量数据中挖掘具有规律性知识,需要利用数据挖掘(DataMining)工具。数据仓库的运行结构数据仓库的运行结构两层数据仓库结构数据仓库数据元数据数据仓库服务器•数据逻辑•数据服务•元数据•文件服务客户端•图形用户接口/表示逻辑•查询规范•数据分析•报表格式•总结•数据访问数据仓库的运行结构数据仓库的运行结构多层数据仓库结构多维数据服务器数据仓库数据元数据•数据逻辑•数据服务•元数据•文件服务数据仓库服务器应用服务器•图形用户接口•查询规范•数据分析•报表格式•数据访问客户端•过滤•总结•元数据•多维视图•数据访问2.4数据组织结构和形式典型的数据仓库的数据组织结构高度综合级轻度综合级当前细节级早期细节级数据粒度粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。粒度问题是设计数据仓库的一个昀重要方面。粒度的一个例子能回答,但需要一定量的检索不能回答,缺少细节信息粒度权衡数据分割数据分割是指把数据分散到各自的物理单元中去,它们能独立地处理。分割是数据仓库中数据的第二个主要的设计问题分割问题的焦点不是该不该分割而是如何去分割的问题。数据分割例子处理集A处理集B数据分割的本质数据分割的本质之一就是灵活地访问数据。数据分割标准数据分割的标准是严格地由开发人员来选择的。时间。商业线。地理位置。组织单位。所有上述标准。然而,按日期几乎总是分割标准中的一个必然组成部分。数据组织形式数据仓库中有多种数据组织形式:简单堆积数据结构轮转综合数据结构简单直接文件连续文件简单堆积数据结构每日从数据库中提取并加工数据逐天积累。昀简单昀常用的数据组织形式轮转综合数据结构简单逐日堆积数据的一种变种。数据用与前面相同的处理方法从操作型环境输入到数据仓库环境中,只是在轮转综合文件中的数据才被输入到不同的结构形式中。每日事物处理每日综合天周月年123456712345。。。。。。简单堆积VS轮转综合轮转综合数据结构与数据的简单堆积结构相比,仅处理非常少的数据单元。简单直接文件数据仅仅是从操作型环境拖入数据仓库环境中,并没有任何累积。是间隔一定时间的操作型数据的一个快照。不是在每天的基础上组织的,而是以较长时间为单位的,比如一个星期或一个月。连续文件通过两个连续的简单直接文件,可以生成另一个连续文件连续文件也可以通过把一个快照追加到一个以前生成的连续文件上来创建连续文件连续文件也可以通过把一个快照追加到一个以前生成的连续文件上来创建数据存储虚拟存储方式基于关系表的存储方式多维数据库组织虚拟存储方式没有专门的数据仓库数据存储,数据仓库中的数据仍然在源数据库中。只是根据用户的多维需求及形成的多维视图临时在源数据库中找出所需要的数据,完成多维分析。优点:组织方式简单、花费少、使用灵活;缺点:只有当源数据库的数据组织比较规范、没有数据不完备及冗余,同时又比较接近多维数据模型时,虚拟数据仓库的多维语义才容易定义。而在一般的数据库应用中,这很难做到。基于关系表的存储方式将数据仓库的数据存储在关系数据库的表结构中,在元数据的管理下完成数据仓库的功能。实体关系(ER)模型一般用于关系型数据库设计,而数据仓库采用星型雪片型事实星座星型模式数据仓库中包含(1)一个大的包含大批数据和不冗余的事实表(中心表);(2)一组小的附属表,称为维表。每维一个。事实表中每条元组都含有指向各个维表的外键和一些相应的测量数据,事实表的记录数量很多,维表中记录的是有关这一维的属性。星型模式示例时间键产品键地区键sales(事实表)销售量销售价time时间键年季度月星期天产品键产品类产品名型号itemlocation地区键国家省市维表雪花模式雪花模型对星型模型的维表进一步层次化原来的各维表可能被扩展为小的事实表,形成一些局部的“层次”区域。雪花模式示例time时间键年季度月星期天产品键产品类产品名型号item时间键产品键地区键sales(事实表)销售量销售价location地区键国家省键省键省名市键市键市名provincecity星型模式VS雪花模式雪花模式