第2章数据仓库基本原理本章目标:•(1)掌握数据仓库的体系结构。•(2)掌握数据仓库中数据的组织形式。•(3)掌握数据仓库中的关键概念。•(4)掌握数据仓库的数据模型。•(5)掌握数据仓库的ETL过程。数据仓库基本原理•2.1数据仓库中的关键概念•2.2数据仓库的数据组织形式•2.3数据仓库的体系结构•2.4数据仓库的数据模型•2.5数据仓库的ETL过程2.1数据仓库中的关键概念外部数据源数据抽取数据清洗数据转换数据加载元数据数据集市数据粒度2.1数据仓库中的关键概念外部数据源从系统外部获取的同分析主题相关的数据。数据抽取数据仓库按分析主题从业务数据库抽取相关数据的过程。数据清洗在放入数据仓库前将错误的、不一致的数据予以更正或删除,以免影响DSS决策的正确性。2.1数据仓库中的关键概念数据转换将不同格式的数据转换成统一的数据格式。数据加载把清洗后的数据装入数据仓库的过程。元数据关于数据的数据。2.1数据仓库中的关键概念数据集市面向企业中的某个部门(主题)而在逻辑上或物理上划分出来的数据仓库中的数据子集成为数据集市。数据粒度数据仓库的数据单位中保存数据的细化程度或综合程度的级别。细化程度越高,粒度级别越低;细化程度越低,粒度级别越高。2.2数据仓库的数据组织形式1、数据仓库的数据组织结构2、粒度与分割3、数据仓库的数据组织形式4、数据仓库的数据追加数据仓库的数据组织结构元数据高度综合级轻度综合级当前细节级早期细节级数据仓库的数据组织结构数据仓库中的数据分为四个级别:早期细节级、当前细节级、轻度综合级、高度综合级。源数据经过综合后,首先进入当前细节级,并根据具体需要进行进一步的综合,从而进入轻度综合级乃至高度综合级,老化的数据将进入早期细节级。由此可见,数据仓库中存在着不同的综合级别,一般称之为粒度。粒度越大,表示细节程度越低,综合程度越高。数据粒度与数据分割第一种粒度:对数据仓库中的数据综合程度高低的度量,它影响数据仓库中数据量的多少,也影响所能回答问题的种类。第二种粒度:样本数据库采样率的高低,是针对数据挖掘的。(采样粒度不同的样本数据库可以有相同级别的综合级别。)数据粒度与数据分割数据分割:将数据分散到各自的物理单元中去以便能分别独立处理,以提高处理效率,数据分割后的数据单元称为分片。分割的一个例子。健康保险生命保险事故保险1988分片1分片2分片31989分片4分片5分片61990分片7分片8分片9数据仓库的数据组织形式①简单堆积文件②定期综合文件(如股市)③简化直接文件(按一定时间间隔对数据库采样)④连续文件数据仓库的数据组织形式①简单堆积文件它将每日由数据库中提取并加工的数据逐天积累并存储起来。数据库快照2006/1/12006/1/22006/1/32006/2/12006/2/22006/2/3...②定期综合文件数据存储单位被分为日、周、月、年等几个级别。在一个星期的七天中,数据被逐一记录在每日数据集中;然后,七天的数据被综合并记录在周数据集中;接下去的一个星期,日数据集被重新使用,以记录新数据。同理,周数据被综合成月数据,直至年数据。数据仓库的数据组织形式数据综合程度逐渐增加2006/1/12006/1/2...2006/12/312006年第1周2006年第2周...2006年第n周2006年1月2006年12月2006年2月2006年1季度2006年4季度2006年2季度...2006年第n月...2006年4季度2006年③简化直接文件它类似于简单堆积文件,但它是间隔一定时间的数据库快照,比如每隔一星期或一个月作一次。数据仓库的数据组织形式④连续文件通过两个连续的简化直接文件,可以生成另一种连续文件,它是通过比较两个简单直接文件的不同而生成的。当然,连续文件同新的简单直接文件也可生成新的连续文件。对于各种文件结构的最终实现,在关系数据库中仍然要依靠“表”这种最基本的结构。数据仓库的数据组织形式④连续文件数据仓库的数据组织形式姓名顾客号地址张平C200610北京王英C200611天津王宾C200612上海刘中C200614重庆1月顾客表姓名顾客号地址张平C200610北京王英C200611沈阳王宾C200612上海刘中C200614大连2月顾客表姓名顾客号时间地址张平C2006101~2月北京王英C2006101月天津王英C2006112月沈阳王宾C2006121~2月上海刘中C2006141月重庆刘中C2006141月大连进行比较1~2月顾客表时标方法DELTA文件前后映象文件的方法日志文件数据仓库的数据追加时标方法如果数据含有时标,对新插入或更新的数据记录,在记录中加更新时的时标,那么只需根据时标判断即可。但并非所有的数据库中的数据都含有时标。数据仓库的数据追加DELTA文件它是由应用生成的,记录了应用所改变的所有内容。利用DELTA文件效率很高,它避免了扫描整个数据库,但同样的问题是生成DELTA文件的应用并不普遍。此外,还有更改应用代码的方法,使得应用在生成新数据时可以自动将其记录下来。但应用成千上万,且修改代码十分繁琐,这种方法很难实现。数据仓库的数据追加前后映象文件的方法在抽取数据前后对数据库各作一次快照,然后比较两幅快照的不同从而确定新数据。它占用大量资源,对性能影响极大,因此并无多大实际意义。数据仓库的数据追加日志文件最可取的技术大概是利用日志文件了,因为它是DB的固有机制,不会影响OLTP的性能。同时,它还具有DELTA文件的优越性质,提取数据只要局限日志文件即可,不用扫描整个数据库。当然,原来日志文件的格式是依据DB系统的要求而确定的,它包含的数据对于数据仓库而言可能有许多冗余。比如,对一个记录的多次更新,日志文件将全部变化过程都记录下来;而对于数据仓库,只需要最终结果。但比较而言,日志文件仍然是最可行的一种选择。数据仓库的数据追加一个完整的数据仓库结构一般由6个基本层次组成:2.3数据仓库的体系结构数据源:为数据仓库提供数据来源。一个数据仓库可以有多个数据源,而且这些数据源可以有多种不同的数据结构类型,可以是关系数据库如DB2、Oracle等,也可以是各种数据文件如Excel、Word、Lotus以及HTML、XML等文件格式。数据源一般是分布在网络中,通过网络中的数据接口与数据仓库连接。数据仓库的体系结构数据后端处理:是数据源与数据仓库间的数据接口层,也叫抽取层。它的功能是将数据源的数据进行提取、清洗、转换,最终构建成数据仓库所需的数据。所谓的ETL就是在这一层。数据仓库及其管理:包括数据仓库、数据仓库管理和元数据管理。数据仓库负责存储分析、决策数据;而数据仓库管理则负责管理数据仓库;元数据管理负责对元数据进行管理。元数据描述了数据仓库的数据和存储环境,数据仓库设计运行、维护与使用的基本参数,是整个数据仓库的核心。数据仓库的体系结构数据集市:是面向特定应用的决策数据集合,它与数据仓库的关系有点类似于视图与表的关系。基于数据仓库的应用:包括分析、决策应用,如OLAP、数据挖掘等。数据展示:将应用结果,特别是分析、决策结果以多种媒体形式表示。目前市场上有多种数据展示工具,如BRIO、BO等。数据仓库的体系结构概念模型逻辑模型物理模型2.4数据仓库的数据模型概念模型概念模型:也就是业务模型,由企业决策者,商务领域知识专家和IT专家共同研究和分析企业级的跨领域业务系统需求分析的结果。2.4数据仓库的数据模型逻辑模型用来构建数据仓库的数据库逻辑模型。根据分析系统的实际需求决策构建数据库逻辑关系模型。它关联着数据仓库的逻辑模型和物理模型两方。2.4数据仓库的数据模型物理模型构建数据仓库的物理分布模型,主要包含数据仓库的软硬件配置,资源情况以及数据仓库模式。2.4数据仓库的数据模型ETL指的是Extraction,Transformation与Loading。Extraction指的是如何将数据从源系统中截取出来,Transformation指在截取出来的数据格式与数据仓库所需要的数据做转换,Loading指的是将数据加载到数据仓库中。2.5数据仓库的ETL过程2.5数据仓库的ETL过程操作型系统EDW或ODS抽取/抓取清洗转换加载与索引拒绝数据的信息有关拒绝数据的信息集结地(StagingArea)