数据仓库基本原理.ppt
《数据仓库基本原理.ppt》由会员分享,可在线阅读,更多相关《数据仓库基本原理.ppt(131页珍藏版)》请在三一办公上搜索。
1、第二章 数据仓库基本原理,第2章 数据仓库的基本原理,2.1 数据仓库的体系结构2.1.1 数据仓库的体系结构 数据仓库的体系结构可以用图2-1来表示。由于数据库和数据仓库应用的出发点不同,数据仓库将独立于业务数据库系统,但是数据仓库与业务数据库系统息息相关。数据仓库不是简单的对数据进行存储,而是对数据进行“再组织”。,2.1.1 数据仓库的体系结构,2.1.2 数据仓库的关键名词,下面我们沿着数据的流向详细说明数据在数据仓库处理的过程,以及一些关键名词。1.数据提取(Data Extraction)从数据仓库的角度来看,并不是业务数据库中的所有数据都是决策支持所必需的。通常,数据仓库按照分析
2、的主题来组织数据,我们只需要提取出系统分析必需的那一部分数据。例如,某超市确定以分析客户的购买行为为主题建立数据仓库,则我们只需将同客户购买行为相关的数据提取出来,而超市服务员工的数据就没有必要放进数据仓库。现有的数据仓库产品几乎都提供各种关系型数据接口,从关系型数据中提取数据。,2.1.2 数据仓库的关键名词,2.数据清洗(Data Cleaning)由于企业常常为不同的应用对象建立不同的业务数据库,比如一个电信运营公司拥有计费数据库、账务数据库、客户数据库、客户投诉数据库等业务系统,这些业务系统中可能包含重复的信息,比如客户数据库中的部分客户基本信息也在客户投诉数据库中存在。由于不同的数据
3、库可能使用不同数据库公司的产品,不同的业务系统可能有不同的软件开发商提供,这使得各个业务数据库中的数据存在不一致的现象,数据库使用人员的操作失误也会造成数据的不一致。,2.1.2 数据仓库的关键名词,如图2-2所示,显示了一个数据不一致的例子。客户数据库中有一张客户基本信息表,其中记录了客户的客户号、姓名、年龄等基本信息。在客户服务数据库中有一张客户咨询信息表用于记录客户咨询问题的内容和解答。由于数据库使用人员的失误,使得在客户基本信息表中的100号客户“张山”,在客户咨询表中的客户姓名被错误的录入为“张三”。,2.1.2 数据仓库的关键名词,由于冗余的数据存放在不同的数据库中,如果不同数据库
4、间的数据刷新不是实时的,则可能出现数据不同步的情况。如图2-3所示,在客户基本信息表中记录了100号客户“张山”的手机状态正常,如果此时张山去办理停机手续,在客户业务变更表中,张山的手机状态将被修改为“停机”,如果数据刷新不够实时,客户基本信息表中的手机服务状态将与客户业务变更表不同步。,2.1.2 数据仓库的关键名词,对于决策支持系统来说,最重要的是决策的准确性,因此确保数据仓库中数据的准确性是极其重要的。从多个业务系统中获取数据时,必须对数据进行必要的清洗,从而得到准确的数据。所谓“清洗”就是将错误的、不一致的数据在进入数据仓库之前予以更正或删除,以免影响决策支持系统决策的正确性。,2.1
5、.2 数据仓库的关键名词,3.数据转化(Data Transformation)由于业务系统可能使用不同的数据库厂商的产品,比如IBM DB2、Informix、Sybase、SQL Server、NCR 等,各种数据库产品提供的数据类型可能不同,因此需要将不同格式的数据转换成统一的数据格式。比如图2-4中所示的不同时间格式的差异。,2.1.2 数据仓库的关键名词,4.提取仓库(Extraction Store)由于业务数据库系统中的数据和数据格式存在不一致的问题,因此在把数据放进数据仓库前需要进行缓存,以等待清洗和转换,这些数据缓存的位置即提取仓库。5.提取日志(Extraction Log
6、)当从业务系统提取数据时,需要记录提取数据的过程,这个过程被记载在提取日志中。提取日志详细记录了数据的来源,数据的转化过程等,它是数据仓库元数据的重要组成部分,它对于保证数据质量非常重要,并且便于数据管理员验证数据的质量。,2.1.2 数据仓库的关键名词,6.数据管理员 在数据仓库中,还有一个重要的角色,就是数据管理员。数据管理员不同于数据库管理员和系统管理员。数据库管理员负责数据库系统的数据备份、恢复、性能优化等工作,系统管理员负责操作系统级的维护和管理,而数据管理员是负责数据质量的专业人员,数据管理员查阅提取日志,发现其中记载的数据提取中出现的错误,有时候数据管理员还要检测源业务系统的错误
7、,比如业务系统中的程序或者不正确的数据项造成的错误。,2.1.2 数据仓库的关键名词,7.外部数据源(External Source)外部数据源就是从系统外部获取的同分析主题相关的数据。对于一个好的决策,不但需要系统内部的信息,还需要来自系统外部的相关信息。比如,超市的采购部门要确定采购货单,不但要了解超市内部产品的销售情况,还需要了解市场上各种商品的价格水平、质量水平、竞争对手的采购信息等。因此一个好的决策支持系统必须综合考虑系统内部和外部的相关数据。,2.1.2 数据仓库的关键名词,8.数据仓库存储(Data Repository)数据仓库存储就是用于存放数据仓库数据和元数据的存储空间。数
8、据的存储方式主要有3种:多维数据库、关系型数据库以及前两种存储方式的结合(在第3章OLAP的基本概念中将详细讲解)。9.数据 业务系统中提取的或者从外部数据源中导入的数据经过清洗、转化后成为数据仓库的原始数据,需要注意的是,它们是数据仓库数据的一部分,但不是全部。由于需要数据仓库进行OLAP分析和数据挖掘,因此需要在原始数据的基础上增加冗余信息,比如进行大量的预运算,建立多维数据库,以求迅速的展现数据。,2.1.2 数据仓库的关键名词,10.元数据 数据是对事物的描述,“元数据”就是描述数据的数据,它提供了有关数据的环境。数据仓库的元数据主要包含两类数据:第一种是为了从操作型环境向数据仓库环境
9、转换而建立的元数据,它包括所有源数据项的名称、属性及其在提取仓库中的转化;第二种元数据在仓库中是用来与最终用户的多维商业模型和前端工具之间建立映射的,这种数据称为决策支持系统(DSS)元数据,它包括:(1)数据仓库中信息的种类、存储位置、存储格式;(2)信息之间的关系、信息和业务的关系、数据使 用的业务规则;(3)数据模型;(4)数据模型和数据仓库的关系。,2.1.2 数据仓库的关键名词,下面通过一个简单的例子说明元数据的基本内容,如图2-5所示:我们从Customer业务数据库的user表中取出3列(user_id,user_name,address),在清洗转换过程中,将user_name
10、从char(20)转化成varchar(50)格式,最终放进User维表(User_ID,User_Name,Address)中。在转换后,(User_ID,User_Name,Address)3列原始的存放位置、进行的清洗转化处理、数据最终的存放位置、数据格式、数据使用的规则等等都将作为元数据的一部分。通常数据库将建立专用的元数据库来存放和管理元数据。,2.1.2 数据仓库的关键名词,11.数据集市(Data Market)数据仓库中存放的是整个企业的信息,并且数据是按照不同的主题来组织的。比如市场发展趋势的分析主题主要由市场部门的人员使用,我们可以将这部分数据逻辑上或者物理上分离出来,当市
11、场部使用数据时,不需要到数据仓库的巨量数据中检索,而只需要在这些数据上进行分析,因此从效率和处理速度的角度出发,这种划分是合理的。我们把这种面向企业的某个部门(主题)而在逻辑上或物理上划分出来的数据仓库中的数据子集称为数据集市。数据仓库面向整个企业,而数据集市则是面向企业中的某个部门。数据仓库中存放了企业的整体信息,而数据集市只存放了某个主题需要的信息,其目的是减少数据处理量,使信息的利用更快捷、灵活。,2.2 数据仓库的特点,通过对数据仓库体系结构的完整介绍,我们对数据仓库有了一定的感性认识。现在我们来分析数据库和数据仓库在功能、技术上的差异,以加深理解。2.2.1 数据库的功能和特点 对于
12、一个大型的处理多用户并发的数据库系统,数据的安全性、数据处理的并发性、事务处理的可靠性、数据的一致性和完整性可能是其最为关心的问题。,2.2.1 数据库的功能和特点,1.数据的安全性 首先是本地数据的安全性。数据库应当防止数据被不必要的用户访问,因此需要使用数据加密技术,使得数据不能轻易的被读取。可以为数据库系统定义不同的角色,每个角色具有不同的访问权限,从而控制不同用户的访问权限。当数据库通过网络被访问时,还需要增加新的网络安全机制来确保网络的安全性,在网络传输中使用数据加密技术,防止数据在网络中被监听,防止管理员的口令泄漏。,2.2.1 数据库的功能和特点,2.数据处理的并发性 在多用户的
13、环境下,多个进程将并发地访问数据库,这使得数据库管理系统必须提供高效的加锁解锁方法以实现进程间的同步和互斥,使用多线程、多进程技术、磁盘的存储优化、合适的索引等来提高并发访问的效率。3.事务处理的可靠性 为了保证业务逻辑的正确性,数据库系统必须提供良好的事务处理能力,一个原子操作(逻辑上不可分的操作)不能被分开执行,如果其中某个步骤失败,则数据库系统必须返回并更改操作,以确保数据的一致性和完整性。,2.2.1 数据库的功能和特点,4.数据的一致性和完整性 为了确保数据的一致性和完整性,需要在数据库的设计、应用程序的开发、系统的维护等环节上进行复杂的工作。由此可见,操作型的环境涉及到事务处理、封
14、锁管理、数据备份恢复、系统日志管理、数据存储管理等一系列复杂技术。,2.2.2 数据仓库的功能和特征,在Building the Data Warehouse一书中列出了操作型数据和分析型数据的区别,如表2-1所示。,2.2.2 数据仓库的功能和特征,二者的区别从根本上体现了事务处理和分析处理的差异。传统的数据库系统由于主要用于企业的日常事务处理工作,存放在数据库中的数据基本符合操作型数据的特点。而为了适宜数据分析处理的要求而产生的数据仓库中存放的数据,基本符合分析型数据的特点。进而把数据仓库定义为“用于支持管理决策的面向主题、集成、稳定、随时间变化的数据集合”。他指出了数据仓库面向主题、集成
15、、稳定、随时间变化这4个最重要的特征。,2.2.3 面向主题,业务系统是以优化事务处理的方式来构造数据结构的,对于某个主题的数据常常分布在不同的业务数据库中。这对于决策支持系统来说是极为不利的,因为这意味着访问某个主题的时间实际上需要去访问多个分布在不同数据库中的数据集合。如在电信企业的情况。该企业已经有计费数据库、帐务数据库、客户服务数据库、市场信息数据库。其中,计费数据库记录了客户的消费情况,客户服务数据库记录了客户的咨询和投诉情况,帐务数据库记录了客户的缴费情况,这些数据都是客户主题的相关数据。如果直接使用业务系统进行决策支持,则需要访问计费数据库、客户服务数据库、帐务数据库才能获得客户
16、各个侧面的信息,这样将极大的浪费系统处理的时间和效率,并且数据之间的不一致性和不同步问题,将极大影响决策的可靠性。,2.2.3 面向主题,基于以上的原因,数据仓库将这些数据集中于一个地方,在这种结构中,对应某个主题的全部数据被存放在同一数据表,这样决策者可以非常方便地在数据仓库中的一个位置检索包含某个主题的所有数据。在图2-6 中,我们选择收益、客户、市场3个主题。则收益主题可以从计费数据库和账务数据库中了解公司各项业务的收入情况;客户主题可以从计费数据库、账务数据库、客户服务数据库中获得客户消费、交费、咨询等全方位的信息;市场主题可以从市场信息数据库分析市场的发展趋势。通过这种按主题的数据组
17、织方法,数据仓库极大地方便了数据分析的过程。,2.2.3 面向主题,2.2.3 面向主题,如图2-7所示显示了以客户为主题的数据存储,2.2.3 面向主题,属于“客户”主题域的数据集合使用相同的公共键码“客户标识”来连接。从图2-7我们可以看出,数据在数据仓库中还是以数据表的方式进行存储,但是,数据的组织方式和建模方法已经同数据库系统有了较大的改变。,2.2.4 数据的集成性,决策支持系统需要集成的数据。全面而正确的数据是有效地分析和决策的首要前提,相关数据收集得越完整,得到的结果就越可靠。而当前绝大多数企业内现有的业务数据库系统中的数据是分散而非集成的。造成这种分散的原因有多种,主要有事务处
18、理应用分散、“蜘蛛网”问题、数据不一致问题、外部数据和非结构化数据。如图2-8所示中,示例了一个数据集成的例子。某电信公司在建立数据仓库时包括了客户这个主题,公司的业务系统中,客户的信息分散在各个业务数据库中,需要从客户基本信息表、客户呼叫记录表、客户话费表、客户咨询表等表中将数据提取并进行集成。,2.2.4 数据的集成性,图2-8 数据从操作型环境提取到分析型环境的同时进行数据集成,2.2.4 数据的集成性,要实现数据的集成,就必须对数据进行清洗和转化。数据转化需要特别的注意,通常可能包含如下的问题:1.数据格式 不同的业务数据库设计者对于同一属性可能使用不同的格式,比如电话号码使用char
19、(10)、varchar(50)、integer等格式,各个数据库没有统一的定义。2.测量单位 不同的数据库中对于统一属性的测量单位可能不同,比如时间使用微秒、秒、分钟、小时等来记录,各个数据库也没有进行统一的定义。,2.2.4 数据的集成性,3.数据代码含义混乱 在数据库的设计中常常需要定义代码和枚举类型的变量,比如用定义H-高、M-中、L-低分别表示收入级别。有的数据库设计者可能定义1-高、2-中、3-低分别表示收入级别。在处理这类问题时,必须仔细阅读业务数据库的物理设计文档。4.数据名称混乱 数据名称混乱使得数据项的实际含义模糊。比如客户名称,有的设计者定义为user_name,有的定义
20、为name,有的定义为USERNAME等。在进行数据导入时,只有通过细致地阅读业务数据库的设计文档才能明确数据项的含义。,2.2.4 数据的集成性,图2-9中示例了在实际问题中可能遇到的需要进行数据转化的工作。,2.2.4 数据的集成性,如果更进一步考虑,决策支持系统需要的不是静态的集成,而是动态的集成。静态集成的最大缺点在于数据集成后数据源中的数据发生了变化,这些变化将不能反映给决策者,导致决策者使用的是过时的数据。因此数据仓库必须能够使集成数据以一定的周期(例如24小时)进行刷新,使决策者能够使用新增的数据,其过程如图2-10所示。,2.2.4 数据的集成性,实际系统的数据刷新周期应当取决
21、于需要分析的问题。例如,如果我们想分析某超市这几年来的销售额的发展趋势,在数据刷新的周期可定为“月”,但是如果想分析这个月走俏的商品,则数据刷新的周期定为“日”比较合适。过短的数据刷新周期,不但没有必要,而且浪费了系统的处理资源,增加了数据仓库中的数据量。过长的数据刷新周期,可能使得许多细节信息丢失,不能达到分析的目的。,2.2.5 数据的稳定性,业务系统一般只需要当前的数据,在数据库中一般只存储短期数据,因此在数据库系统中数据是不稳定的,它记录的是系统中每一个变化的瞬态。但对于决策分析而言,历史数据是相当重要的,许多分析方法必须以大量的历史数据为依托。没有历史数据的详细分析是难以把握企业的发
22、展趋势的,因此DSS对数据在空间和时间的广度上都有了更高的要求。,2.2.5 数据的稳定性,在数据仓库中,数据一旦被写入就不再变化了。数据仓库可以看成是一个虚拟的只读数据库系统。我们在数据集成性中说明了数据仓库在数据存储方面是分批进行,定期执行提取过程为数据仓库增加记录,但是这些记录一旦加入,就不再从系统中删除。正是由于数据仓库的这个显著的特点,使得数据仓库不需要在并发读写控制上投入过多的精力,因为所有用户只是以只读方式访问数据仓库。我们在图2-11中演示了一个简单的例子。,2.2.5 数据的稳定性,2.2.5 数据的稳定性,在3月23日,100号客户的消费金额为200元,当时间推移到3月24
23、日,100号客户的消费金额变成220元,这一信息在业务系统中被更新了。但是在数据仓库中(我们假定数据仓库每天进行一次数据提取),3月23日的数据提取结果是在数据仓库中增加了记录XXX,说明100号客户在3月23日的消费金额为200元,在执行3月24日的数据提取工作之后,原先的记录XXX并没有发生任何的改变,而是在数据仓库中增加了一条新的记录YYY,说明100号客户在3月24日的消费金额为220元。可见,数据仓库实际上是为100号客户的消费行为进行了定期的快照,并将快照存储起来供后续的分析工作使用。,2.2.6 数据随时间变化的特点,由于在数据仓库中数据只增不删,这使得数据仓库中的数据总是拥有时
24、间维度。数据仓库实际上就是记录系统的各个瞬态,并通过将各个瞬态连接起来形成动画,从而在数据分析的时候再现系统运动的全过程。数据提取的周期实际上决定了动画间隔的时间,数据提取的周期短,则动画的速度快,图2-12示意了这种特点。,2.2 数据仓库的特点,数据仓库同数据库相比,还具有其他的特点。如数据仓库中的数据不再像数据库中的数据具有严格的规范化的特点,这也是有数据仓库的应用需求决定的。数据仓库为了能够在尽量短的时间内将数据呈现给使用人员,使用所谓的“空间换时间”的技术,牺牲了数据的规范化,增加了数据的冗余度,从而减小系统的响应时间。,2.3 数据仓库的数据组织,在对数据仓库的特点进行分析后,我们
25、来学习数据仓库的数据组织结构和组织方式。2.3.1 数据仓库的数据组织结构 一个典型的数据仓库的数据组织结构图如图2-14所示。在数据仓库中,数据被分成4种级别,分别是高度综合级、轻度综合级、当前细节级、早期细节级。,2.3.1 数据仓库的数据组织结构,2.3.1 数据仓库的数据组织结构,当前的数据总是首先进入当前细节级,然后根据应用的需求,通过预运算将数据聚合成轻度综合和高度综合级。比如,在电信公司中的电话呼叫数据中记录了每个用户的每次呼叫。进行OLAP分析时,常常需要不同层次的数据颗粒度,因此可以通过预运算将数据综合成每个用户每“天”的通话次数,还可以进一步聚合成每个用户每“月”的通话次数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据仓库 基本原理
链接地址:https://www.31ppt.com/p-6296231.html