《数据仓库》学习笔记
《数据仓库》
第一章决策支持系统的发展
1.1演化
●管理信息系统(MIS)为信息处理提供强大的数据处理和存储能力。
●早期信息系统主要是为实现业务而建立的,根据业务的需要建立大量独立的系统。
●多个独立的系统间要交互数据很困难,出现了“抽取”的模式。其特点是与信息系
统无关,直接对信息系统的数据源进行“抽取”。
●“抽取”产生的问题是产生的蜘蛛网状“抽取”,即在“抽取”的基础上再“抽取”。
●产生数据仓库技术理论来规范。
(DSS决策支持系统)
1.2自然演化体系结构出现的问题
●数据可信性:如来自不同部门的报表,无法统一
●生产率问题:产生一个分析需要很长时间
●无法将数据转化成信息:达到一个分析结果非常困难
●方法变迁:在体系结构化环境的核心,存在下面2种数据:原始数据和导出数据,
原始数据是:维持企业日常运行所需的细节性数据;
导出数据是:要经过汇总或计算来满足公司管理者需要的数据。
? 面向应用? 面向主题
? 详细的? 综合的,或提炼的
? 在存取瞬间是准确的? 代表过去的数据
? 为日常工作服务 ? 为管理者服务 ? 可更新 ? 不更新
? 重复运行 ? 启发式运行
? 处理需求事先可知 ? 处理需求事先不知道 ? 生命周期符合S D L C ? 完全不同的生命周期 ? 对性能要求高 ? 对性能要求宽松
? 一个时刻存取一个单元 ? 一个时刻存取一个集合 ? 事务处理驱动 ? 分析处理驱动 ? 更新控制主要涉及所有权 ? 无更新控制问题 ? 高可用性 ? 松弛的可用性 ? 整体管理 ? 以子集管理 ? 非冗余性 ? 时常有冗余 ? 静态结构;可变的内容 ? 结构灵活
? 一次处理数据量小 ? 一次处理数据量大 ? 支持日常操作 ? 支持管理需求
1.3体系结构化环境
四个层次:
第二章 数据仓库环境
2.1数据仓库概述
● 数据仓库是体系结构化环境的核心
●
数据仓库是决策支持系统(DSS )处理的基础
● 数据仓库是面向主题的、集成的、非易失的,且随时间变化的数据集合
●
操作型环境是:面向业务应用的、松散的、易失的,反应当前时间点的数据集合。
操作型环
境 数据仓库 原子级 部门级 数据集市
个体
2.1.1面向主题
●传统操作型系统是围绕公司的功能性应用进行组织的;
●面向主题是针对某一类数据主体(如产量、合格量等)。
注:对于一个保险公司来说:应用问题可能是汽车保险、健康保险、人寿保险与意外伤亡保险;
公司的主要主题域可能是顾客、保险单、保险费与索赔。
2.1.2集成性
●在数据仓库的所有特性之中,集成是最重要的。
●数据仓库中的数据从多个不同的数据源传送过来,这些数据进入数据仓库,就进行转换、
重新格式化、重新排列以及汇总等操作。
●集成问题:编码、属性度量单位、多个数据源、冲突关键字
2.1.3非易失性
●数据仓库中的数据载入后,保存时间长、不存在传统意义上的更新操作。
●数据仓库保留了数据的历史状况
2.1.4随时间变化
●数据仓库中的每个数据只是在某一时间是准确的。
●反映历史变化的数据集合
●数据仓库按时间将操作型数据抽取装载(所以表的主键一般都包含时间)。
2.2数据仓库的结构
2.2.1面向主题
数据仓库面向在高层企业数据模型中已定义好的企业主题域;典型的主题域有:
●顾客
●产品
●交易或活动
●政策
●索赔
●账目
数据仓库中,每个主题域都是以一组相关的表来具体实现的。一个主题域可能由10个、100
个或更多的相互关联的物理表构成。每个表设计来实现主要主题域的一部分
2.2.2第1天到第n 天的现象
数据仓库不是一蹴而就的。相反,数据仓库只能一步一步第进行设计并载入数据,它是进化的,而非革命性的。
2.2.3粒度与分割
● 粒度:指的是数据仓库中数据单元的细节程度或综合程度的级别
●
分割是针对当前细节级的数据进行分割,使大块的数据使用分类变成小块数据。
● 有多种数据可以用来分割数据:时间、分类、地理位置、组织单位等。 粒度与分割是在数据仓库中分层次存储数据的方法,针对不同的主题和性能需求进行数据的集成处理和存储。主要的目的是为了使不需要的数据不出现的分析中,也就是使数据量变小。 粒度与细节级有关,如“每月通话详细清单”与“每月通话综合”,前细后粗,则粒度前低后高。 分割与数据分类有关,可将同一主题数据按多维度分割产生子集,使分析性能提高。
数据的细节级与粒度:
2.2.4活样本数据库
● 样本数据库是在数据库中随机抽取1/100或1/1000的数据,拿来做样本分析。 ●
样本数据库也是为了提高分析效率,使数据量变小。
2.2.5数据组织
数据仓库中所建立的数据结构是怎样的:
多维度分割
逻辑分割:程序实现 物理分割:数据库实现
细节粒度设计
● 简单堆积结构
● 轮转综合数据存储:简单堆积结构的变种
● 简单直接文件:数据仅仅是从操作性环境被拖入数据仓库环境中 ● 连续文件:依据两个或更多直接文件能生成一个连续文件
第三章 设计数据仓库
3.1设计的范围和方式
建造数据仓库的两个重要方面:
? 与操作型系统接口的设计 ------- 解决获得什么数据,及如何获得
? 数据库仓库本身的设计 ------- 解决如何仓储数据,及如何展现
设计过程是“启发式”的:(迭代式)
3.2数据仓库构建步骤
1) 收集和分析业务需求; 2) 建立数据模型和数据仓库的物理设计; 3) 定义数据源;
4) 选择数据仓库技术和平台;
5)
从操作型数据库中提取、转换和净化数据到数据仓库;
6) 选择访问和报表工具;
7) 选择数据库连接软件;
8) 选择数据分析和数据展示软件; 9) 更新数据仓库;
开发人员
DSS 分析员
3.3数据仓库系统结构
3.4数据仓库建立的基本框架
3.5数据的获取
●数据仓库所需要的数据不像业务处理系统那样直接从业务发生地获取,而是从与业务处
理发生直接联系的业务处理系统那里获取,
●如传统的基于C/S结构的在线事物处理系统OLTP。这些业务处理系统中的数据往往与
业务处理联系在一起,只为业务的日常处理服务,而不为决策分析服务。
●所以DW从业务处理系统那里获取数据时,并不能将原数据库中的数据直接加载到DW
中,而是要进行一系列的处理。
●数据进入数据仓库的基本过程操作数据向数据仓库的移动包括以下五个过程:
3.6数据仓库中的数据模型
●高层模型(实体关系图)
●中间层模型
●底层模型(物理模型)
第四章数据仓库中的粒度
4.1粗略估算
估计数据仓库环境中的行数/空间大小
1. 对每一个已知的表:
计算一行所占字节数的
●-最大估计值
●-最小估计值
对一年内:
●最大行数可能是多少?
●最小行数可能是多少?
对五年内:
●最大行数可能是多少?
●最小行数可能是多少?
对表的每个键码:
?该键码的大小(按字节)是多少?
一年总的最大空间=最大行大小×一年内最大行数
一年总的最小空间=最小行大小×一年内最小行数
累加索引空间
图4-1 空间/行数计算
第五章数据仓库和技术
数据仓库比其操作性前身(数据库)需要的一些技术特性更简单一些。
数据仓库中没有联机的数据更新;锁定和完整性需要也非常少;而且对于远程处理接口的需要也只是最基本的。但是仍需要一些技术上的需求:
5.1 技术上的需求
1)管理大量数据
?能够管理大量数据的能力
?能够管理好的能力
2)管理多介质(层次)
?主存、扩展内存、高速缓存、DASD、光盘、缩微胶片
3)索引和监控数据
监控数据能确定许多因素:
?决定是否应数据重组
?决定索引是否建立得不恰当
?决定是否有太多数据溢出
?决定剩余的可用空间
4)多种技术的接口
利用多种技术获得和传送数据:
?批模式,联机模式并不非常有用
5)程序员/设计者对数据存放位置的控制(块/页)
6)数据的并行存储/管理
7)元数据管理
8)数据仓库语言接口
?能够一次访问一组数据
?能够一次访问一条记录
?支持一个或多个索引
?有SQL接口
9)数据的高效装入
10)高效索引的利用
?用位映像的方法、多级索引等
11)数据压缩
?I/O资源比CPU资源少得多,因此数据解压缩不是主要问题
12)复合键码(因为数据随时间变化)
13)变长数据
14)加锁管理(程序员能显式控制锁管理程序)
15)单独索引处理(查看索引就能提供某些服务)
16)快速恢复
17)其他技术特征,传统技术起很小作用
?事务集成性、高速缓存、行/页级锁定、参照完整性、数据视图
18)传统DBMS与数据仓库DBMS区别
?为数据仓库和决策支持优化设计
?管理更多数据:10GB/100GB/TB
?传统DBMS适合记录级更新,提供:锁定Lock、提交Commit、检测点CheckPoint、
日志处理Log、死锁处理DeadLock、回退Roolback.
?基本数据管理,如:块管理,传统DBMS需要预留空间
?索引区别:传统DBMS限制索引数量,数据仓库DBMS没有限制
?通用DBMS物理上优化便于事务访问处理,而数据仓库便于DSS访问分析
19)改变DBMS技术
20)多维DBMS和数据仓库
?多维DBMS作为数据仓库的数据库技术,这种想法是不正确的
?多维DBMS(OLAP)是一种技术,数据仓库是一种体系结构的基础
21)双重粒度级别(DASD/磁带)
22)数据仓库环境中的元数据
?DSS分析人员和IT专业人员不同,需要元数据的帮助
?操作型环境和数据仓库环境之间的映射需要元数据
?数据仓库包含很长时间的数据,必须有元数据标记数据结构/定义
23)上下文和内容(上下文维)
?简单上下文信息(数据结构/编码/命名约定/度量)
?复杂上下文信息(产品定义/市场领域/定价/包装/组织结构)
?外部上下文信息(经济预测:通货膨胀、金融、税收/政治信息/竞争信息/
技术进展)
24)刷新数据仓库
?数据复制(触发器)
?变化数据捕获(CDC)(日志)
第六章分布式数据仓库
6.1集中式数据仓库与分布式数据仓库
●集中式数据仓库大部分企业采用的集中式数据仓库
1)数据仓库中的数据是全企业范围内集成的,而且只有企业总部才会使用集成
的数据
2)企业是以集中式商务模式运作的
3)数据仓库中的数据量非常大,将数据集中存储在一个地方是较为妥当的
4)如果将逻辑上集成的数据分布于多个局部站点,那么存取这些数据将是很麻
烦的。
●分布式数据仓库
1)某些特定场合条件(下页分布式数据仓库类型所示)下,需要建立分布式数
据仓库环境
6.2 分布式数据仓库的类型
1)业务在不同的地域或不同的生产线上进行
2)环境中包括大量的数据,他们分布在多个处理器上
3)数据仓库环境是以一种不协调的方式建立起来的:首先建立一个数据仓库、然后再建立
另一个
第七章主管信息系统(EIS)和数据仓库
7.1概述
●如今EIS又重新以许多新的形式出现:OLAP处理和像客户关系管理(CRM)的DSS应
用
●EIS处理是处于帮助主管指定决策而设计的。
●EIS的典型用途:
(1)趋势分析和发现
(2)关键比例指标度量和跟踪
(3)向下钻取分析
(4)问题监控
(5)竞争分析
(6)关键性能指标监控
7.2向下钻取分析
●为了切片和分块,有必要向下钻取数据
●向下钻取数据是指:从一个汇总数据开始,将该汇总数据分解成一组更细致的汇总数据
数据
7.2主管信息系统(EIS)和数据仓库的关系
1)数据仓库支持EIS分析员的所有需求
2)有了数据仓库,EIS分析员就不再处于被动的地位,而是处于主动地位了。
3)数据仓库为EIS分析员提供了数据基础
第八章外部数据和数据仓库
8.1 外部数据分类
外部数据分为两类:
(1)通过数据源收集到的外部数据记录,注意并不是通过正式的在线的操作性系统进入企业的,而是通过非正式系统进入企业的
(2)来自于行业报告、文章及其他数据源的外部数据,比如行业新闻,非企业内部的市场比较分析报告,企业内部的年度报告、审计季报,以及购买的一些用户数据等。
第九章迁移到体系结构化环境
9.1一种迁移方案
迁移的步骤:
1)建立企业数据模型
起点是一个企业数据模型,该数据模型描述了企业的信息需求。
企业数据模型至少要能表示出如下内容:
●企业的主要主题,
●企业的各个主要主题的定义,
●各个主要主题之间的关系,
●各个主要主题的各个关键字和属性分组,
●主要主题的属性集,
●主要主体的关键字集,
●关键字集和属性集的重复组,
●各个主要主体域之间的连接,
●子类关系。
2)建立中间层模型
从企业数据模型建立中间层模型,但要每次只建立一个主题域。
导出数据和DSS数据被排除在企业数据模型和中间层模型之外。
3)建立记录系统
建立一个衡量数据质量的标准来选择数据的来源,以此做成记录系统。这样记录系
统就成为数据仓库模型的数据源的定义。
衡量数据质量的标准:完备、试试、准确、与现有系统环境数据源最接近、是否遵
循数据模型的数据结构。
4)将记录系统中的数据迁移到数据仓库
面临的技术挑战:
●记录系统和数据仓库不在同一个DBMS
●记录系统和数据仓库不在同一个操作系统中
●需要将多个DBMS和操作系统的数据以有意义的方式合并起来
●在web日志中获取基于web的数据
●基本数据格式的变化
●数据量:对于比如web日志的数据需要进行预处理,并运用特别的技术转移
到数据仓库中。
●其他:有些情况下,迁移之前需要对数据进行清理、汇总。
5)设计数据仓库
只需对企业数据模型和中间层数据模型的少数几个方面进行修改即可。
要做的工作主要有:
●需要加入时间元素到关键字结构中、
●必须清除所有的操作性数据、
●将参照完整性关系转换成人工关系、
●将经常需要的导出数据加入到设计中。人
一些具体实现方式:
●增加数据阵列(???)、
●增加数据冗余、
●合适的情况下进一步分离数据、
●合适的时候合并书目表。
对实现上述要求,需要做数据的稳定性分析,以便将时常变动的数目和十分稳定的
数据分开,合适的时候需要存放于不同的物理位置。
设计数据仓库必须按主题域进行组织。
在主题域内,许多独立的数据表都需要通过这个主题相关的公用关键字连接。
6)设计和建立记录系统和数据仓库之间的接口。
这些接口有规律地将数据装载到数据仓库,数据抽取即是在这个步骤进行。
除了数据抽取,这个接口还包括的工作有:
●来自操作熊环境的数目的继承、
●数据时间基准的变更、
●数据压缩、
●对现有系统环境的有效扫描。(这些工作需要查看本书的其他部分)
另外对接口需要进行日常的维护,ETL软件即是用来建立和维护这种接口的。
7)载入主题域
载入主题域:抽取数据到数据仓库中,并修改记录条目,创建元数据,建立相应索
引。
8)最终用户进行反馈
第十章数据仓库和WEB
10.1两者之间的关系
●数据从web环境流向数据仓库转移接口是相当简单的:通过日志来获取
●数据从数据仓库流向web环境转移接口是复杂的:数据从数据仓库进入ODS,在ODS
中生成概要记录。
第11章非结构化数据和数据仓库
第12章大型数据仓库
第13章关系模型和多维模型数据库设计基础
数据仓库的设计方法有关系模型(inmon)和多维模型(kimball)。
13.1 关系模型
特点:灵活
13.2 多维模型
包括事实表和维表,维表用来描述事实表的某个重要方面。
13.3 雪花结构
雪花结构中,不同的事实表通过共享一个或多个公共维表连接起来。称这些共享维表为一致维表。
多维模型设计的有点在于访问的高效性。
13.4两种模型的区别
●区别
1)关系模型高灵活性,性能方面不太理想。多维模型在满足用户需求方面是非常高效
的,但是灵活性不好。
2)关系模型适合于大范围数据,多维模型适用于小范围数据。
●区别的起源:
1)关系模型是通过企业数据模型设计出来的,
2)星形连接或多维模型是根据最终用户的请求塑造的。
●重建关系型数据:
结合多张关系表来创建新的关系表。可以很简单地以一种形式创建关系表,再以另一种形式创新塑造这些表,这对数据仓库环境来说是非常理想的。
●数据的直接访问和间接访问:
关系型模型适合数据的间接访问而多维模式利于数据的直接访问。星形连接无法同时满足多组不同用户的需求。
●支持将来未知的需求:
关系模型中的粒度级数据即数据的原子性可以用于支持未来未知信息的需求。
●支持适度变化的需求:
关系模型具有适度变化的能力,关系模型设计一简介方式使用,数据仓库的直接用户访问的是有关系模型转化而来的数据而不是关系模型本身的数据。各个不同的用户各自的需求改变时,对彼此的影响是非常小的。
星形连接及多维方法不具有适度变化的能力这一特征,因为一旦设计完成,多维型数据就会被固定住。
由此,关系模型是数据仓库设计的最佳基础。而星形连接对于数据集市是最佳的。
13.5 独立数据集市
数据集市是用来表示服务一组特定群体(如财会部分)的分析需求的一种数据结构。
独立数据集市是指直接通过历史应用创建的数据集市。
从属数据集市是利用来自数据仓库的数据建立的,其数据源不依赖于历史数据或操作性数据,只依赖于数据仓库。从属数据集市要求有预先的几乎a/changqi的观察;、全局的分析和企业各不同部门对需求分析的合作与协调。
13.6 建立独立数据集市
独立数据集市表示的是不需要估计全局即全景的一个短期的优先范围的解决方法。从属数据集市则要求一个长期和全局的展望。
第14章数据仓库高级话题