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