第1章数据仓库概述14445.pptx
第第1章章 数据仓库概述数据仓库概述DW&DM1l数据库到数据仓库的演变DW&DM第一章 数据仓库概述1.1 数据库到数据仓库的演变1.3 仓库的应用前景 数据库到数据仓库的演变数据库的发展 企业运营环境 以数据库为中心企业级数据库市场部 销售、市场策划财务部 产生财务报表人事部 人员变动情况 蜘蛛网问题蜘蛛网问题(图1-1)1数据分析的结果缺乏可靠性 图1-2中展示了某电信公司的市场部和计划部对业务A是否具有市场前景的分析过程和结果。市场部认为“业务A的市场前景很好”,而计划部却得到截然相反的结果“业务A没有市场前景”。作为企业的最棕决策者,将如何根据这样的结论进行决策呢?一、一、蜘蛛网问题蜘蛛网问题DW&DM第一章 数据仓库概述1.1 数据库到数据仓库的演变1.3 仓库的应用前景DW&DM第一章 数据仓库概述1.1 数据库到数据仓库的演变1.3 仓库的应用前景外部市场信息A分析程序1分析结果1:业务A市场前景很好分析结果2:业务A没有市场前景外部市场信息B外部市场信息C抽取数据的时间不同分析程序2抽取数据的内容不同外 部 信 息分析程序和内容不同 两个分析的数据都来自于企业数据库,但是结论却不同,下面通过分析两个过程的差异来寻求原因。首先,市场部门和计划部门从企业数据库中抽取的数据可能不同,比如,市场部抽取的是在大客户中对业务A的使用情况,而计划部抽取的是在普通客户中对业务A的使用情况,二者分析的数据存在差异。其次,市场部分析的时间是2001年3月5日,而计划部分析的时间是2001年3月25日,两个分析过程从企业数据库中抽取数据的时间不同,企业数据库中的内容已经发生了变化,这很可能导致分析的结果不同。再次,分析业务的发展趋势常常需要引入企业外部的信息,比如客户的满意程度,国家的政策等,市场部门引用的外部信息来源可能与计划部不同,而外部信息必然是仁者见仁,智者见智,这也可能是导致最终分析结果不同。最后,市场部门使用的分析程序可能与计划部不同,通过上面的分析,我们可以看出导致两个分析过程出现截然相反的结论的根本原因是数据的来源部一致,对于不同来源的数据的分析结果显然是不一致的。2.数据处理的效率很低 在错综复杂的体系中,不同级别的数据库可能使用不同类型的数据库系统,对于有巨型数据量的企业级数据库可能使用IBM DB2,对于中小型数据库可能使用SQL Server。各种数据库的开发工具和开发环境不同,抽取程序应用的技术不同,因而难以集成。如果一个大型企业的决策者需要一份关于公司整体运营情况的报表,通常需要动用大量的人力和物力才能达到,首先,需要确定报表涉及的内容分布在哪个数据库的哪个位置,然后调动各个部门的程序员分析员对应用进行分析,设计和编码。由于数据分散在各个数据库中,因此需要编写的程序很多。由于在企业中使用的数据库类型很多,因此可能需要使用多种的技术来实现。程序的重用性很差,因为决策者明天想看的内容很可能和今天是不同的。可见,动用大量的人力,物力和时间才能完成的报表不仅实效性很差,数据处理的效率也很低。DW&DM第一章 数据仓库概述1.1 数据库到数据仓库的演变1.3 仓库的应用前景以数据库为中心以数据库为中心以数据仓库为中心 以数据仓库为中心3.难以将数据转化成信息 除了数据处理效率和数据的可信度之外,“蜘蛛网”式的结构还难以将数据转化为信息。比如,某电力公司想分析某个大客户今年的情况和过去的3年有什么不同?大客户的情况可能包括客户的呼叫行为,话费情况,交费情况,咨询问题等。因此想要比较完整的回答这个问题,实际上需要将客户多方面的数据综合成信息。在实际的数据库系统中,记录客户呼叫行为的数据库通常只保留客户最近3个月的呼叫话单,帐务数据库可能保留客户今年的交费情况,客户咨询数据库可能保留客户2年内的咨询信息,如图14所示。每个数据库由于其数据量和业务处理的需求不同,对于历史数据的存储时间也不同,因此以现有的数据库系统难以提供完整的历史数据,鉴于这样的原因,用户根本不可能从这些数据中提取出完整的信息。DW&DM第一章 数据仓库概述1.1 数据库到数据仓库的演变1.3 仓库的应用前景操作型系统的使用人员通常是企业的具体操作人员,处理的数据通常是企业业务的细节信息,其目标是实现企业的业务运营;而分析型系统的使用人员通常是企业的中高层的管理者,或者是从事数据分析的工程师。分析型系统包含的信息而非具体的细节,其目的是为企业的决策者提供支持信息。操作型系统和分析型系统的划分如图14所示。操作型处理和分析型处理的分离,划清了数据处理的分析型环境和操作型环境之间的界限,从而由原来以单一数据库为中心的数据环境发展为以数据库为中心的业务处理系统和以数据仓库为基础的分析系统。企业的生产环境,也由以数据库为中心的环境发展为以数据仓库为中心的环境,如图15所示。DW&DM第一章 数据仓库概述1.1 数据库到数据仓库的演变1.3 仓库的应用前景以数据库为中心以数据库为中心以数据仓库为中心 以数据仓库为中心DW&DM2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线1.2 数据仓库体系结构一、数据仓库体系结构(图 1-6)由于数据库和数据仓库的出发点不同,数据仓库将独立于业务数据库系统,但是数据仓库又同数据库系统息息相关。也就是说,数据仓库不是简单对数据进行存储,而是对数据进行“再组织”。2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM数据挖掘系统/数据展现系统数据集市数据提取提取仓库数 据元 数 据数据集市数据集市数据集市数据仓库存储企业外部数据业务操作型数据2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据数据清洗/转换DW&DM1.3数据仓库重要名词 1 1数据提取(数据提取(Data ExtractionData Extraction)数据抽取数据抽取 数据仓库按主题从业务数据库提取相关数据的过程。数据仓库按主题从业务数据库提取相关数据的过程。从数据仓库的角度来看,并不是业务数据库中的所有数据都是决策支持所必须的。数据仓库按照分析的主题来组织数据,我们只需要提取出系统分析必须的那一部分数据。例如:某超市确定以分析客户的购买行为为主题建立数据仓库,只需将同客户购买行为相关的数据提取出来,超市员工的数据没有必要放进数据仓库。2 数据清洗(数据清洗(Data Cleaning)企业建立很多不同的数据库企业建立很多不同的数据库 数据的不一致数据的不一致 是将错误的、不一致的数据在进入数据仓库之前予以更正或 删除,以免影响DSS决策的正确性。图22所示,客户数据库中有客户基本信息表,客户服务数据库中有一张客户咨询信息表,由于操作人员的失误,将客户信息表中的“张山”在客户咨询表录入为“张三”。图23所示,客户信息表“张三”的手机状态是正常,此时张山去办理停机,在客户业务变更表中,手机状态修改为“停机”,如果数据刷新不够实时,导致客户基本信息表和客户业务表变更不同步。2.1 数据仓库的体系结构DW&DM客户基本信息表客户咨询信息表客户基本信息表客户业务变更信息表客户号:100姓名:张山年龄:23客户号:100姓名:张山咨询问题:客户号:100姓名:张山年龄:23手机服务状态:正常客户号:100姓名:张山业务变更:停机2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM3 数据转化(数据转化(Data Transformation)(图)(图2-4)把源数据的数据格式转换成统一的数据格式的过程。把源数据的数据格式转换成统一的数据格式的过程。也叫:数据集成(也叫:数据集成(Data Integration)由于业务系统可能使用不同的数据库厂商的产品,比如IBM DB2、informix、Sybase.Sql server 等,各种数据库产品提供的数据类型可能不同,需要将不同格式的数据转换成统一的格式。4 提取仓库提取仓库 由于业务数据库系统中的数据和数据格式存在不一致的问题,因此在数据放进数据由于业务数据库系统中的数据和数据格式存在不一致的问题,因此在数据放进数据仓库前需要进行缓存,以等待清洗和转换,这些数据缓存的位置即提取仓库。仓库前需要进行缓存,以等待清洗和转换,这些数据缓存的位置即提取仓库。5 5提取日志(提取日志(Extraction StoreExtraction Store)6 6 当从业务系统提取数据时,需要记录提取数据的过程,该过程被记载在提取日当从业务系统提取数据时,需要记录提取数据的过程,该过程被记载在提取日志中。提取日志详细的记录了数据的来源,数据的转化过程等。志中。提取日志详细的记录了数据的来源,数据的转化过程等。6 6 数据管理员数据管理员 是负责数据导入时管理数据质量的专业人员,还检阅提取日志,发现其中数据是负责数据导入时管理数据质量的专业人员,还检阅提取日志,发现其中数据 提取的错误和源于业务系统的错误。提取的错误和源于业务系统的错误。2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM2000-2-3.2000-2-52000-2-42/3/2000.2/5/20002/4/20002000/2/3.2000/2/52000/2/42.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM7 外部数据源(外部数据源(External Source)从系统外部获取的同主题分析相关的数据来源。从系统外部获取的同主题分析相关的数据来源。例:采购部 (确定采购订单)采购货单 产品销售情况(内部)商品的价格水平 质量水平 竞争对手的采购信息(外部)8数据仓库存储数据仓库存储9 用于存放数据仓库数据和元数据的存储空间。用于存放数据仓库数据和元数据的存储空间。10 数据存储方式:多维数据集,关系型数据库以及二者的结合。数据存储方式:多维数据集,关系型数据库以及二者的结合。9数据数据10 业务系统中提取的或者从外部数据源中导入的数据进行清洗,转化后成为业务系统中提取的或者从外部数据源中导入的数据进行清洗,转化后成为数据仓库的原始数据,它们是数据仓库数据的一部分,不是全部。数据仓库的原始数据,它们是数据仓库数据的一部分,不是全部。2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM10 元数据(元数据(Meta Data)(图)(图2-5)数据是对事物的描述,而元数据是对数据的描述;它提供了有关数据的环境。数据是对事物的描述,而元数据是对数据的描述;它提供了有关数据的环境。数据仓库中的元数据有两类:数据仓库中的元数据有两类:第一种是为了从操作型环境向数据仓库环境转换而建立的元数据,它包括所有源第一种是为了从操作型环境向数据仓库环境转换而建立的元数据,它包括所有源数据的名称,属性及其在提取仓库中的转化;数据的名称,属性及其在提取仓库中的转化;第二种是在数据仓库中是用来与最终用户的多维商业模型和前端工具之间建立映第二种是在数据仓库中是用来与最终用户的多维商业模型和前端工具之间建立映射的,这种数据成为决策支持系统元数据,包括射的,这种数据成为决策支持系统元数据,包括 (1)数据仓库中的信息的种类,存储位置,存储格式)数据仓库中的信息的种类,存储位置,存储格式 (2)信息之间的关系,信息和业务的关系,数据使用的业务规则()信息之间的关系,信息和业务的关系,数据使用的业务规则(3)数据模型)数据模型(4)数据模型和数据仓库的关系。)数据模型和数据仓库的关系。例如:从customer业务数据库的user表中取出3列(user_id,user_name,address),在清洗转换过程中,将user_name从char(20)转化为varchar(50)格式,最终放进user维表(User_ID,User_name,Address)中,转换后(User_ID,User_name,Address)3列原始的存放位置、进行的清洗转化处理、数据最终的存放位置、数据格式、数据使用的规则等等都作为元数据的一部分,图25所示。2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DMChar(20)User_nameVarchar(50)User_NameUser 表User_idUser_nameaddressUser_IDUser_NameAddressUser 维表原始数据位置数据清洗转化数据最终存放位置格式转化Customer 数据库 维表 数据库2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据11数据集市(数据集市(Data Market)12 面向企业中的某个部门(主题)而在逻辑上或物理上划分出来的数据仓库中的数据面向企业中的某个部门(主题)而在逻辑上或物理上划分出来的数据仓库中的数据13子集。子集。14 减少数据处理量,使信息更快捷,灵活。DW&DM权威定义权威定义 ,William Inmon William Inmon 博士博士 90 90年代年代 初,给出:初,给出:数据仓库:数据仓库:通常是一个面向主题的、集成的、随时间变化的、但信息本身是相对稳定的数据集合,用于对管理决策过程的支持。1.4 数据仓库定义操作型数据的特点分析型数据的特点细节的综合的、经过提炼的在存取的瞬间是准确的代表过去的数据可更新的不可更新操作需求通常事先知道分析需求通常事先不知道生命周期符合SDLC生命周期不同于SDLC对性能(如操作时延)要求高对性能要求较宽一个时刻操作一个数据单元一个时刻操作一个数据集合事务驱动(数据驱动)分析驱动(模型驱动)面向应用面向分析一次操作数量小一次操作数据量很大支持日常操作需求支持管理需求操作型数据和分析型数据的特性比较操作型数据和分析型数据的特性比较2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM一、数据库的功能和特性1数据的安全性数据的安全性 (以 SQL Server 为例)用用 户户DBAPDBMS操作系统操作系统数据库数据库身份验证身份验证操作权控制操作权控制文件操作控制文件操作控制加密存储加密存储与与 控制控制计算机系统的安全模式计算机系统的安全模式数据库数据的加密存取数据库数据的加密存取 防止有意的非法活动;防止有意的非法活动;使用用户身份验证使用用户身份验证限制操作权限制操作权 控制有意的非法操作;控制有意的非法操作;提高系统可靠性提高系统可靠性数据备份数据备份 控制无意的损坏控制无意的损坏2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM2 2 数据处理的并发性数据处理的并发性事务事务T T1 1 时间时间 事务事务T T2 2读 A=16 T1 k T2 读 A=16 B=B2,写回B=200 A=A-1 T3 写回 A=15 T4 A=A-4 写回 A=12 (覆盖了(覆盖了T T1 1对对A A的修改)的修改)丢失数据修改丢失数据修改2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM事务事务T T1 1 时间时间 事务事务T T2 2对A加X锁 T1 获得 k读A=16 T2 T3 要对 A 加X 锁 等待 修改A=A 1 T4 等待 写回A=15释放对A的X锁 T5 等待o T6 获得对A的X锁p T7 读A=15q T8 修改A=A 4 写回A=11 T9 释放对A的X锁 没没有有丢丢失失数数据据2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM3 3 事务处理的可靠性事务处理的可靠性事务(事务(TransactionTransaction):):是用户定义的数据操作系列,这些操作可作为一个完整的工作单元。一个事务内的所有语句是一个整体,要么全部执行,要么全部不执行。例如:例如:A 账户向账户向B 账户转帐账户转帐100元元 第一个动作第一个动作 A 账户账户 100元元 第二个动作第二个动作 B 账户账户 +100元元事务的特征:(1 1)原子性(原子性(AtomicityAtomicity)事务是数据库的逻辑工作单位,其中的操作,要么都进行,要么都不进行;事务是数据库的逻辑工作单位,其中的操作,要么都进行,要么都不进行;(2 2)一致性(一致性(ConsistencyConsistency)事务的执行结果,必须是从数据库的一个一致性状态转换到另一个一致性状态;事务的执行结果,必须是从数据库的一个一致性状态转换到另一个一致性状态;(3 3)隔离性(隔离性(IsolationIsolation)一事务的操作不受其它事务的干扰,即事务操作中使用的数据是隔离的;一事务的操作不受其它事务的干扰,即事务操作中使用的数据是隔离的;(4 4)持续性(持续性(DurabilityDurability)事务一旦提交,对数据库的操作就是永久性(事务一旦提交,对数据库的操作就是永久性(PermanencePermanence)的。)的。2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM4 4 数据的一致性和完整性数据的一致性和完整性二、二、数据仓库的功能和特性数据仓库的功能和特性1 1 面向主题面向主题 主题:主题:用户使用数据仓库进行决策时所关心的重要方面。用户使用数据仓库进行决策时所关心的重要方面。(如,(如,销售情况、利润情况、客户情况)销售情况、利润情况、客户情况)面向主题:数据仓库中的信息是按主题进行组织的,为按主题进行决策面向主题:数据仓库中的信息是按主题进行组织的,为按主题进行决策 的过程提供支持。的过程提供支持。(尽管数据仍以表方式存储,但数据组织和建模方法已不同)(尽管数据仍以表方式存储,但数据组织和建模方法已不同)需要数据库设计、应用开发、系统维护等方面进行复杂的大量工作。需要数据库设计、应用开发、系统维护等方面进行复杂的大量工作。由此可见,操作型的环境涉及到事务管理,封锁管理,死锁管理,数据备份由此可见,操作型的环境涉及到事务管理,封锁管理,死锁管理,数据备份恢复,系统日志管理,数据存储管理等一系列复杂技术。恢复,系统日志管理,数据存储管理等一系列复杂技术。2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM计费数据库客户服务数据库市场信息数据库帐务数据库收益数据客户数据市场数据现现 有有 业业 务务 系系 统统2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM客户标识号客户姓名客户年龄客户地址 .客户基本信息表 客户呼叫记录表客户标识号客户呼叫时间客户呼叫地点客户呼叫号码呼叫时长呼叫费率.客户话费表客户标识表客户本月总话费本月月租费本月通话费本月短信费.客户标识号客户咨询内容咨询答案.客户咨询表2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM2 2 数据的集成性数据的集成性 OLTP OLTP 建表的数据在多个库中抽取建表的数据在多个库中抽取 蜘蛛网问题蜘蛛网问题 OLAP OLAP 要求数据的一致性要求数据的一致性 集成的(李强,李集成的(李强,李 强)强)图图2-82-8所示中,示例了一个数据集成的例子,某电信公司建立数据仓库时包所示中,示例了一个数据集成的例子,某电信公司建立数据仓库时包括了客户这个主题,公司的业务系统中,客户的信息分散在各个业务数据库中,括了客户这个主题,公司的业务系统中,客户的信息分散在各个业务数据库中,需要从客户基本信息表,客户呼叫记录表,客户话费表,客户咨询表等表中将需要从客户基本信息表,客户呼叫记录表,客户话费表,客户咨询表等表中将数据提取并进行集成。数据提取并进行集成。图图2-92-9示例了在实际问题中可能遇到的需要进行数据转换的工作。示例了在实际问题中可能遇到的需要进行数据转换的工作。数据的集成性需要对数据进行数据的集成性需要对数据进行 ETL ETL,特别是转化和清洗,其中,特别是转化和清洗,其中,要注意的问题:要注意的问题:数据格式数据格式 测量单位测量单位 数据代码数据代码 数据名称数据名称 数据的集成是动态的,不是静态的。数据的集成是动态的,不是静态的。2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM客户基本信息表客户基本信息表客户标识号客户标识号客户姓名客户姓名客户年龄客户年龄客户地址客户地址.客户呼叫记录表客户呼叫记录表客户标识号客户标识号客户呼叫时间客户呼叫时间客户呼叫地点客户呼叫地点客户呼叫号码客户呼叫号码呼叫时长呼叫时长呼叫费率呼叫费率.客户话费表客户话费表客户标识号客户标识号客户本月总话费客户本月总话费本月月租费本月月租费本月通话费本月通话费本月短信费本月短信费.客户咨询表客户咨询表客户标识号客户标识号客户咨询内容客户咨询内容咨询答案咨询答案.客户标识号客户标识号客户姓名客户姓名客户年龄客户年龄客户地址客户地址 .客户标识号客户标识号客户客户呼叫呼叫时间时间客户呼叫地点客户呼叫地点客户呼叫号码客户呼叫号码呼叫时长呼叫时长呼叫费率呼叫费率 .客户标识号客户标识号客户本月总话费客户本月总话费本月月租费本月月租费本月通话费本月通话费本月短信费本月短信费 .客户标识号客户标识号客户咨询内容客户咨询内容咨询答案咨询答案 .2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM客户信息表客户呼叫记录表客户话费表客户咨询表 1 0 F M 女 男 f mA表通话时长B表通话时长C表通话时长2小时 120分钟7200秒客户信息表客户呼叫记录表客户话费表客户咨询表 name user_name USERNAMENAME客户信息表客户呼叫记录表客户话费表客户咨询表 姓 名 姓 名 姓 名 姓 名 char(10)varchar(10)char(12)varchar(20)统一编码/编码间转化统一度量单位统一变量命名统一字段格式集成后数据2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM任务调度:定期进行数据刷新业务系统业务系统数据清洗,转换整理数据仓库数据仓库 进一步考虑,决策支持系统需要的不是静态的集成,而是动态的集成。静态集成的进一步考虑,决策支持系统需要的不是静态的集成,而是动态的集成。静态集成的最大缺点在于数据集成后数据源中的数据发生了变化,这些变化将不能反映给决策者,最大缺点在于数据集成后数据源中的数据发生了变化,这些变化将不能反映给决策者,导致决策者使用的是过时的数据。因此数据仓库必须能够使集成数据以一定的周期(例导致决策者使用的是过时的数据。因此数据仓库必须能够使集成数据以一定的周期(例如如24小时)进行刷新,使决策者能够使用新增的数据,其过程如图小时)进行刷新,使决策者能够使用新增的数据,其过程如图1-15所示。所示。2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM3 3 数据的稳定性数据的稳定性 OLTP OLTP 中的操作中的操作 存入、查询、修改、删除存入、查询、修改、删除 OLAP OLAP 中的操作中的操作 存入、查询存入、查询 (注意:两个(注意:两个 存入存入 的不同)的不同)数据仓库中,数据一旦写入,就不再变化了。所以,也可以把数据仓库数据仓库中,数据一旦写入,就不再变化了。所以,也可以把数据仓库看作是一个虚拟的只读存储器。看作是一个虚拟的只读存储器。我们在图中演示了一个简单的例子。例如在我们在图中演示了一个简单的例子。例如在3 3月月2323日,日,100100号顾客的消费金额变号顾客的消费金额变成成250250元,这一信息在业务系统中被更新了。但是在数据仓库中(假定数据仓库每元,这一信息在业务系统中被更新了。但是在数据仓库中(假定数据仓库每天进行一次数据提取),天进行一次数据提取),3 3月月2323日的数据提取结果是在数据仓库中增加了记录日的数据提取结果是在数据仓库中增加了记录XXXXXX,说明,说明100100号顾客在号顾客在3 3月月2323日的消费金额为日的消费金额为200200元,在执行元,在执行3 3月月2424日的数据提取工作后日的数据提取工作后,原先记录的,原先记录的XXXXXX并没有发生任何的改变,而是在数据仓库中增加了一条新的纪录并没有发生任何的改变,而是在数据仓库中增加了一条新的纪录YYYYYY,说明,说明100100号顾客在号顾客在3 3月月2424日的消费金额为日的消费金额为250250元。元。可见,数据仓库实际上是为可见,数据仓库实际上是为100100号顾客的消费行为进行了定期的拍照,并将快照存储起来后供后续的分析工作号顾客的消费行为进行了定期的拍照,并将快照存储起来后供后续的分析工作使用。使用。2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM客户号:100费用(元):200客户号:100费用(元):250记录号:XXX时间:3月23日客户号:100费用(元):200记录号:XXX时间:3月23日客户号:100费用(元):200记录号:YYY时间:3月24日客户号:100费用(元):250业务运营系统数据仓库系统数据仓库中增加一 个记录3月23日数据抽取3月24日数据抽取数据更新2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM4 4 数据随时间变化的特性数据随时间变化的特性 OLTP OLTP 的存入的存入=修改修改 OLAP OLAP 的存入的存入=增加(数据保存增加(数据保存 大约大约 510 510年)年)数据仓库数据仓库 记录系统的各个瞬态,并通过各个瞬态的连接形成动画。记录系统的各个瞬态,并通过各个瞬态的连接形成动画。由于在数据仓库中数据只增不删,这使得数据仓库中的数据总是拥有时间维由于在数据仓库中数据只增不删,这使得数据仓库中的数据总是拥有时间维度。数据仓库实际上就是记录系统的各个瞬间,并通过各个瞬间连接起来形成动画。度。数据仓库实际上就是记录系统的各个瞬间,并通过各个瞬间连接起来形成动画。从而在数据分析的时候再现系统运动的全过程。数据提取的周期实际上决定了动画从而在数据分析的时候再现系统运动的全过程。数据提取的周期实际上决定了动画间隔的时间,数据提取的时间短,则动画的速度快,图间隔的时间,数据提取的时间短,则动画的速度快,图1-171-17示意了这个特点。示意了这个特点。2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM业务系统的运营数据仓库的快照集合t1t2t3tn2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM5 5 多维性多维性数据是带有时间轴的数据是带有时间轴的 数据是多维的数据是多维的 形成形成 立方体立方体 (CubeCube)支持决策支持决策三、数据仓库的工作目标2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据数据库系统中硬件资源利用率曲线数据仓库系统中硬件资源利用率曲线时间时间0%0%100%100%DW&DM一、数据仓库的数据组织形式数据仓库的数据级别:早期细节级早期细节级当前细节级当前细节级轻度综合级轻度综合级高度综合级高度综合级1.5 数据仓库的数据组织2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM后备数据后备数据后备数据后备数据高度细节级轻度细节级当前细节级早期细节级2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM 如图119,所示是一个数据仓库数据组织的示例。由于客户的呼叫数据的数据量很大,并且数据仓库的使用者常常只关心近期的细节数据,因此我们可以在系统中只保留近三个月的呼叫数据,而将3个月之前的详细数据到处到备份设备中。在数据仓库中,细节数据可以聚合成轻度和高度综合级别的数据,比如按“月”、“季度”、“年”统计,需要说明的是轻度和高度是一种相对的概念,而没有绝对的边界,并且在数据仓库中数据的综合程度常常有很多的级别。在2001/3时,系统保留了从2001/12001/3的呼叫详细数据,等到2001/4月,2001/1的细节数据被导出,保留的是从2001/22001/4的呼叫详细数据。实际上综合数据也可能被导出系统,比如企业的管理者认为企业的决策只同企业近15年来的运营数据有关,则15年前的综合数据也可以导出。对于高度综合的数据,由于其数据量已经很少,所以一般不考虑它们的导出问题。总的来说,数据仓库的这种组织方式的核心思想是在系统中保留最有可能被客户使用的数据,而用户很少使用的数据则备份出系统。2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM当前细节级轻度综合级高度综合级最近3个月(2001年1月-2001年3月)客户呼叫详细数据1995-2001年按月统计的客户呼叫信息1995-2001年按季度统计的客户呼叫信息1995-2001年按年统计的客户呼叫信息2001年1月以前的呼叫详细数据2001/3数据仓库中数据的状态最近3个月(2001年2月-2001年4月)客户呼叫详细数据1995-2001年按月统计的客户呼叫信息1995-2001年按季度统计的客户呼叫信息1995-2001年按年统计的客户呼叫信息2001年2月以前的呼叫详细数据2001/4数据仓库中数据的状态2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM二、数据的颗粒度 数据粒度越小数据粒度越小 信息越细节信息越细节 数据粒度级别越低数据粒度级别越低 数据量越大数据量越大 数据粒度越大数据粒度越大 综合度越高综合度越高 数据粒度级别越高数据粒度级别越高 数据量越小数据量越小数据粒度的两种形式:数据粒度的两种形式:是对数据仓库中数据的综合程度的度量是对数据仓库中数据的综合程度的度量 如图所示的例子,按照每“月”统计的客户呼叫数据和按照每次呼叫记载的客户呼叫数据,两者的数据量相差极大。我们假定每个字段为8个字节,每个用户一天进行5次通话,则一个客户一个月的呼叫细节数据的数据量为:86305=7200字节字节,而一个客户1个月的呼叫汇总数据的数据量为84=32字节字节。图120所示细节数据和综合数据用途上的差异。图121所示的细节数据和综合数据在回答综合问题上代价的差异。2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM8X630X58X4客户呼叫记录表客户呼叫记录按月汇总表 客户标识号客户呼叫时间客户呼叫地点客户呼叫号码呼叫时长呼叫费率客户标识号月份呼叫总时长呼叫总次数2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM细节数据综合数据综合数据能够回答的问题:王五这个月打了几个电话?王五这个月的通话总时长是多少?细节数据回答的问题:王五这个月3号在北京打了几个电话?王五这个月3号给李明打过电话妈?通话时间是多少?2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM细节数据综合数据综合数据回答综合问题,只需在访问很少的数据细节数据回答综合问题需要访问大量的记录,进行大量的计算。2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM 从图中我们可以看出,综合程度不同的数据其用途不同,在数据仓库多重的数据粒度是必不可少的,但是由于数据仓库最主要的目的是反映企业整体信息和DSS分析,回答综合程度较高的问题。如果为了回答许多细节问题,而使系统的数据量极度膨胀,从而降低系统的运营效率,就背离了系统建设的初衷,这也是我们在数据仓库数据组织方式中说明的,对细节数据和综合数据采用不同综合策略的原因。实际的工程项目中,我们可以将综合程度较高的数据存放在访问速度较高的磁盘上,而将细节数据定期导出到低俗的磁带上。例如,我们将近三个月的呼叫细节数据和按月综合的数据、按年综合的数据放在高速磁盘上,而将以往的细节数据放在低俗磁带上,如图1-23所示。需要注意的是:从数据仓库中导出的数据仍然属于数据仓库,只是在存储介质上发生了变化。2.1 数据仓库的体系结构 2.2 数据仓库的特点2.3 数据仓库的数据组织2.4 数据仓库建设的两条技术路线 2.5 操作数据存储ODS2.6 外部数据和非结构数据DW&DM3个月内的客户呼叫细节数据 3个月以前的客户呼叫细节数