Upload
geraldine-salinas
View
93
Download
0
Embed Size (px)
DESCRIPTION
第 2 章 数据仓库原理. 本章学习目标: 掌握数据仓库的定义,四个基本特征 掌握数据集市的概念,与数据仓库区分 掌握数据仓库的体系结构 掌握数据仓库中数据组织方式 掌握数据处理过程 掌握元数据的概念、元数据管理的原理. 第 2 章 数据仓库原理. 2.1 数据仓库定义 2.2 数据集市 2.3 数据仓库体系结构 2.4 数据组织结构和形式 2.5 数据抽取 E 、转换 T 和装载 L ( ETL ) 2.6 元数据管理. 2.1 数据仓库定义. - PowerPoint PPT Presentation
Citation preview
第 2 章 数据仓库原理 本章学习目标:
掌握数据仓库的定义,四个基本特征 掌握数据集市的概念,与数据仓库区分 掌握数据仓库的体系结构 掌握数据仓库中数据组织方式 掌握数据处理过程 掌握元数据的概念、元数据管理的原理
第 2 章 数据仓库原理 2.1 数据仓库定义 2.2 数据集市 2.3 数据仓库体系结构 2.4 数据组织结构和形式 2.5 数据抽取 E 、转换 T 和装载 L ( ETL ) 2.6 元数据管理
面向主题 为特定数据分析领域提供的数据与传统数据库中的
数据是有不同的。传统数据库中的数据是原始的、基础的数据,而特定分析领域数据则是需要对它们作必要的抽取、加工与总结而形成。
数据仓库是面向分析、决策人员的主观要求的,不同的用户有不同的要求,同一个用户的要求也会随时间而经常变化,因此,数据仓库中的主题有时会因用户主观要求的变化而变化的。
面向主题示例 例:一个面向事务处理的“商场”数据库系统,其数
据模式如下采购子系统:订单(订单号,供应商号,总金额,日期)订单细则(订单号,商品号,类别,单价,数量)供应商(供应商号,供应商名,地址,电话)
销售子系统:顾客(顾客号,姓名,性别,年龄,文化程度,地址,电话)
销售(员工号,顾客号,商品号,数量,单价,日期)
面向主题示例库存管理子系统:领料单(领料单号,领料人,商品号,数量,日期)进料单(进料单号,订单号,进料人,收料人,日期)库存(商品号,库房号,库存量,日期)库房(库房号,仓库管理员,地点,库存商品描述)
人事管理子系统:员工(员工号,姓名,性别,年龄,文化程度,部门号)部门(部门号,部门名称,部门主管,电话)
面向主题示例 上述数据模式基本上是按照企业内部的业务活动及
其需要的相关数据来组织数据的存储的,没有实现真正的数据与应用分离,其抽象程度也不够高。
如果按照面向主题的方式进行数据组织,首先应该抽取主题,即按照管理人员的分析要求来确定主题,而与每个主题相关的数据又与有关的事务处理所需的数据不尽相同。
主题一:商品 商品固有信息:商品号,商品名,类别,颜色等 商品采购信息:商品号,供应商号,供应价,供应日期,供应量等
商品销售信息:商品号,顾客号,售价,销售日期,销售量等
商品库存信息:商品号,库房号,库存量,日期等
面向主题 在每个主题中,都包含了有关该主题的所有信息,同时又抛弃
了与分析处理无关或不需要的数据,从而将原本分散在各个子系统中的有关信息集中在一个主题中,形成有关该主题的一个完整一致的描述。面向主题的数据组织方式所强调的就是要形成一个这样一致的信息集合。
不同的主题之间也有重叠的内容,但这种重叠是逻辑上的,而不是物理存储上的重叠;是部分细节的重叠,而不是完全的重叠。
面向主题 每个主题所需数据的物理存储:
多维数据库( MDDB—Multi-Dimensional DataBase )用多维数组形式存储数据。
关系数据库。用一组关系来组织数据的存储,同一主题的一组关系都有一个公共的关键字,存放的也不是细节性的业务数据,而是经过一定程度的综合形成的综合性数据。
集成的 数据是分散的;由于事务处理应用分散、蜘蛛
网问题、数据不一致问题、外部数据和非结构化数据。
数据仓库中的数据是为分析服务的,而分析需要多种广泛的不同数据源以便进行比较、鉴别,因此数据仓库中的数据必须从多个数据源中获取,这些数据源包括多种类型数据库、文件系统以及 Internet 网上数据等,它们通过数据集成而形成数据仓库中的数据。
非易失的 数据仓库中的数据是经过抽取而形成的分析型数据,不具有原
始性,主要供企业决策分析之用,执行的主要是‘查询’操作,一般情况下不执行‘更新’操作。同时,一个稳定的数据环境也有利于数据分析操作和决策的制订。
但这也不等于数据仓库中的数据不需要‘更新’操作。 在需要进行新的分析决策时,可能需要进行新的数据抽
取和‘更新’操作 数据仓库中的一些过时的数据,也可以通过‘删除’操
作丢弃掉。
因此数据仓库的存储管理相对于 DBMS 来说要简单得多。
2.2 数据集市( Data Mart ) 建立数据集市的原因
数据仓库是一种反映主题的全局性数据组织。但是 ,全局性数据仓库往往太大,在实际应用中将它们按部门或个人分别建立反映各个子主题的局部性数据组织 ,它们即是数据集市。因此,有时我们也称它为部门数据仓库。
例:在有关商品销售的数据仓库中可以建立多个不同主题的数据集市: 商品采购数据集市 库房使用数据集市 商品销售数据集市
2.3 数据仓库体系结构 数据仓库系统由数据仓库( DW)、仓库管
理和分析工具三部分组成
ORACLEORACLE SYBASESYBASE SQL ServerSQL Server 文 件文 件
……
数据集市数据集市 数据集市数据集市 数据集市数据集市
数 据 建 模数 据 建 模 数据仓库 元数据管理元数据管理
抽 取抽 取
……
数据仓库系统示意图
分析工具( OLAP 、数据挖掘)分析工具( OLAP 、数据挖掘)
仓库管理-数据建模 数据建模是建立数据仓库的数据模型。 数据仓库的数据模型不同于数据库的数据模
型在于: 数据仓库只为决策分析用,不包含事务处理的
数据。 数据仓库的增加了时间属性数据。 数据仓库增加了一些综合数据。
数据仓库的数据建模是适应决策用户使用的逻辑数据模型。
仓库管理-元数据管理 最基本的元数据相当于数据库系统中的数据字典。 元数据定义了数据仓库有什么,指明了数据仓库中
数据的内容和位置,刻画了数据的抽取和转换规则,存储了与数据仓库主题有关的各种商业信息,而且整个数据仓库的运行都是基于元数据的。 数据源的元数据 数据模型的元数据 数据仓库映射的元数据 数据仓库使用的元数据
数据仓库的运行结构数据仓库的运行结构 两层数据仓库结构
数据仓库数据
元数据
数据仓库服务器
•数据逻辑•数据服务•元数据•文件服务
客户端
•图形用户接口 /表示逻辑•查询规范•数据分析•报表格式•总结•数据访问
数据仓库的运行结构数据仓库的运行结构 多层数据仓库结构
多维数据服务器
数据仓库数据
元数据
•数据逻辑•数据服务•元数据•文件服务
数据仓库服务器应用服务器
•图形用户接口•查询规范•数据分析•报表格式•数据访问
客户端
•过滤•总结•元数据•多维视图•数据访问
轮转综合数据结构 简单逐日堆积数据的一种变种。 数据用与前面相同的处理方法从操作型环境输入到数据仓库环境中,只是在轮转综合文件中的数据才被输入到不同的结构形式中。
每日事物处理
每日综合天
周
月
年
1 2 3 4 5 6 7
1 2 3 4 5。。。
。。。
虚拟存储方式 没有专门的数据仓库数据存储,数据仓库中
的数据仍然在源数据库中。只是根据用户的多维需求及形成的多维视图临时在源数据库中找出所需要的数据,完成多维分析。 优点:组织方式简单、花费少、使用灵活; 缺点:只有当源数据库的数据组织比较规范、
没有数据不完备及冗余,同时又比较接近多维数据模型时,虚拟数据仓库的多维语义才容易定义。而在一般的数据库应用中,这很难做到。
星型模式 数据仓库中包含
( 1)一个大的包含大批数据和不冗余的事实表(中心表);
( 2 )一组小的附属表,称为维表。每维一个。 事实表中每条元组都含有指向各个维表的外
键和一些相应的测量数据,事实表的记录数量很多,维表中记录的是有关这一维的属性。
雪花模式示例
time
时间键年季度月星期天
产品键产品类产品名
型号
item时间键产品键地区键
sales( 事实表)
销售量销售价
location 地区键国家省键
省键省名市键
市键市名
province
city
星型模式 VS 雪花模式 雪花模式的维表可能是规范化的,以便减少冗余。这种表易于维护,并节省存储空间。
实际上,与巨大的事实表相比,这种空间的节省可以忽略。
由于执行查询需要更多的连接操作,雪花结构可能降低浏览的性能。
在数据仓库设计中,雪花模式不如星型模式流行。
事实星座模式示例
time
时间键年季度月星期天
产品键产品类产品名
型号
item
时间键产品键地区键
sales( 事实表)
销售量销售价
location
地区键国家省市
ship (事实表)产品键时间键起运点终止点运价
DELTA文件 DELTA文件视图从能够感知数据变化的应
用程序来生成追加文件 利用 DELTA文件效率很高,它避免扫描整
个数据库。 但因应用系统常由不同的软件开发商开发,生成 DELTA文件的应用并不普遍。
日志文件 日志是 DMBS 的固有机制 系统日志能把数据库服务器所执行的所有操
作详细记录下来,通过分析日志获取数据变化情况。
它还具有 DELTA文件的优越性质,提取数据只要局限日志文件即可,不用扫描整个数据库。
固有机制,不影响OLTP性能。
2.5 数据抽取、转换和加载 数据仓库需要将这些源数据经过抽取、转换和装载
的过程,存储到数据仓库的数据模型中。 ETL过程
抽取( Extraction ) 转换( Transform ) 装载( Load)
确认数据源 列出对事实表的每一个数据项和事实 列出每一个维度属性 对于每个目标数据项,找出源数据项 一个数据元素有多个来源,选择最好的来源 确认一个目标字段的多个源字段,建立合并规则 确认一个目标字段的多个源字段,建立分离规则 确定默认值 检查缺失值的源数据
数据抽取技术 当前值:源系统中存储的数据都代表了当前
时刻的值。当商业交易时,这些数据是会发生变化的。
周期性的状态:这类数据存储的是每次发生变化时的状态。例如,对于每一保险索赔,都经过索赔开始、确认、评估和解决等步骤,都要考虑有时间说明。
数据转换的基本功能 选择:从源系统中选择整个记录或者部分记录。
分离 /合并:对源系统中的数据进行分离操作或者合并操作。
转化:对源系统进行标准化和可理解化。
汇总:将最低粒度数据进行汇总。
清晰:对单个字段数据进行重新分配和简化 。
数据转换类型( 1)格式修正( 2 )字段的解码( 3)计算值和导出值( 4)单个字段的分离( 5)信息的合并( 6)特征集合转化( 7)度量单位的转化( 8)关键字重新构造( 9)汇总( 10)日期 /时间转化
数据整合和合并 数据整合和合并是将相关的源数据组合成一致的
数据结构,装入数据仓库。 实体识别问题。 数据来源于多个不同的客户系统,对相同客户可能
分别有不同的键码,将它们组合成一条单独的记录。 多数据源相同属性不同值的问题。 不同系统中得到的值存在一些差别 ,需要给出合理的值。
数据装载方式 基本装载。按照装载的目标表,将转换过的数
据输入到目标表中去。 追加。如果目标表中已经存在数据,追加过程在保存已有数据的基础上增加输入数据。
破坏性合并。用新输入数据更新目标记录数据。
建设性合并。保留已有的记录,增加输入的记录,并标记为旧记录的替代。
2.5.4 数据处理的有关讨论 数据库中的空缺值 不一致的数据
由于某种原因的不一致需统一(比如英制与公制) 样本空间的大小 与分析无关的数据不要装入数据仓库 数据离散化
在必要的情况下将连续的数据变换成离散值。比如年龄按 10 岁分段,收入按 1000分段等
数据规范化
数据库中的空缺值 空缺的数据会影响数据挖掘的质量,所以应该处理忽略该元组 问题:若缺少的数据的元组太多,则性能非常差
人工填写空缺值 问题:缺很多值时不可行
使用一个全局常量填空 问题:但由于该常量太多,数据挖掘程序可能会错误的认为是一个有趣的概念。
使用属性的平均值填充空缺值 使用与给定元组属同一类的所有样本的平均值 使用最可能的值填充空缺值
数据规范化 最大 -最小规范化 :
对原始数据进行线性变换。假定 minA和 maxA分别为属性 A的最小和最大值,则 :
min' ( _ max _ min ) _ min
max minA
A A AA A
vv new new new
例:假定收入属性的最小与最大分别是 12000 和 98000 ,现在想映射到区间 [0.0 , 0.1] ,则
73600 12000' (1.0 0.0) 0.0 0.716
98000 12000v
数据规范化 z-score规范化(零 -均值规范化)
A
Avv
'
例:假定收入属性的平均值和标准方差分别为 54000 和16000 ,使用 z-score规范化。
225.116000
5400073600'
v
2.6 元数据管理 元数据是关于数据的数据,是数据仓库环境中一个
重要方面。 元数据在数据仓库的上层,并且记录数据仓库中对象的位置。
典型地,元数据记录: 程序员所知的数据结构。 D S S 分析员所知的数据结构。 数据仓库的源数据。 数据加入数据仓库时的转换。 数据模型。 数据模型和数据仓库的关系。 抽取数据的历史记录。
数据源的元数据 这类元数据是对不同平台上的数据源的物理
结构和含义的描述。具体为: 数据源中所有物理数据结构,包括所有的数据项及数据类型。
所有数据项的业务定义。 每个数据项更新的频率,以及由谁或那个过程更新的说明。
每个数据项的有效值。
数据模型元数据示例 例如,雇员与技能之间的关系
Employee
E_No
E_S
E_NoS_Code
Skill
S_Code12 13¹Øϵ I/O ¶ÔÏó
I/O Object ID
EmployeeE_SSkill
¹Øϵ³ÉÔ±
R_ID IO_ID
12121313
EmployeeE_SE_SSKill
R_ID
1213
R_ID IO_ID Field_ID
12121313
EmployeeE_SE_SSkill
E_NoE_No
S_CodeS_Code
¹Øϵ¹Ø¼ü×Ö
数据仓库映射的元数据 这类元数据是数据源与数据仓库数据间的映射。
当数据源中的一个数据项与数据仓库建立了映射关系,就应该记下这些数据项发生的任何变换或变动。即用元数据反映数据仓库中的数据项是从哪个特定的数据源填充的,经过那些转换,变换和加载过程。
数据仓库映射的元数据示例 一个数据的抽取要经过许多步骤。如图所示:
源数据与目标数据之间的映射( 1)抽取工作( 2 )抽取工作步骤( 3)抽取表映射( 4)抽取属性映射( 5)记录筛选规则
Ô´Êý¾Ý »ñÈ¡ ¹ýÂË ÑéÖ¤ ÈÚºÏ ×ÛºÏ ×°ÔØ ´æµµ Ä¿±ê