1、2023-1-17数据仓库技术数据仓库技术数据仓库技术数据仓库技术提纲o数据仓库技术的产生o数据仓库的定义和特征o数据仓库中的数据组织n数据的粒度n数据仓库的数据组织结构n数据的分割n数据仓库的数据组织模式nETLo数据集市oOLAPn定义和实例nOLAP的多维数据分析nOLTP与OLAPo数据仓库系统(DWS)数据仓库技术1 数据仓库技术的产生数据仓库技术的产生o数据仓库数据仓库(Data Warehouse)技术完全是在决策需求的驱动下产生与发展起来的。n“数据太多,信息不足”的现状n异构环境的数据的转换和共享 n利用数据进行数据处理转换为利用数据支持决策o操作型数据库无法满足决策支持系统
2、对数据库系统的要求o专为决策服务的数据库系统称为数据仓库数据仓库(Data Warehouse,简称DW)。数据仓库技术2.1 数据仓库的定义数据仓库的定义o以1992年W.H.Inmon出版Building the Data Warehouse为标志,数据仓库速度发展起来,Inmon也被誉为“数据仓库之父”。oW.H.Inmon对数据仓库数据仓库的定义是:“数据仓库是支持决策过程的、面向主题的、集成的、随时间变化的、持久的数据集合。数据仓库技术2.2 数据仓库的特征数据仓库的特征n是面向主题(Subject-Orientation)的;n数据仓库是集成(Integration)的;n数据仓库
3、是稳定/非易失性(Nonvolatile)的;n是随时间变化(Time Vagrancy)的;n是信息的概括和聚集。数据仓库技术3 数据仓库中的数据组织数据仓库中的数据组织3.1 数据的粒度3.2 数据仓库的数据组织结构3.3 数据的分割3.4 数据仓库的数据组织模式3.5 数据的追加数据仓库技术3.1 粒度粒度o粒度是指数据仓库的数据单位中保存数据的细化或总合程度的级别。o细化程度越高,粒度级就越小;细化程度越低,粒度级就越大。o粒度细节的级别o粒度的划分决定了数据仓库中数据量的大小和查询的详细程度。o多重粒度数据仓库技术粒度的一个例子粒度的一个例子高细化低细化每月200个记录每月40,00
4、0个字节每月一个记录每月200个字节通过检索可以回答无细节无法回答询问某一电话的细节数据仓库技术3.2 数据仓库的数据组织结构数据仓库的数据组织结构元数据元数据高度综合级高度综合级轻度综合级轻度综合级(数据集市数据集市)销售细节级销售细节级2000-2001操作型转换操作型转换早期细节级早期细节级每月销售每月销售1994-2001每周销售每周销售1994-2001当前细节级当前细节级销售细节级销售细节级1994-1999数据仓库技术3.3 分割分割o分割将当前细节数据分散到各自的物理单元中去以便能分别独立处理,以提高数据处理效率。o分片数据分割后的独立单元。o数据的分割 提高了数据管理的灵活性
5、重构、索引、重组、恢复、监控o分割的标准:日期、地域、业务领域。数据仓库技术分割的一个例子分割的一个例子分片9分片8分片72001分片6分片5分片42000分片3分片2分片11999事故保险生命保险健康保险数据仓库技术3.4 数据仓库的数据组织模式数据仓库的数据组织模式o星型模式(star schema)o雪花模式(snowflake schema)o混合模式事实表事实表维维量量维表维表中间有一个单一表,沿半径向外连接到多个表是星型模式的扩展,每一个点都沿半径向外连接到多个点数据仓库技术3.5 ETLo数据抽取、转换、装载(ETL)是建立数据仓库的重要步骤,需要花费开发数据仓库70%的工作量。
6、数据仓库技术数据抽取、转换和装载数据抽取、转换和装载(ETL)o 数据仓库的数据来源于多个数据源,主要是企业数据仓库的数据来源于多个数据源,主要是企业内部数据;存档的历史数据;企业的外部数据。这内部数据;存档的历史数据;企业的外部数据。这些数据源可能是在不同的硬件平台上,使用不同的些数据源可能是在不同的硬件平台上,使用不同的操作系统。源数据是以不同的格式存放在不同的数操作系统。源数据是以不同的格式存放在不同的数据库中。据库中。o数据仓库需要将这些源数据经过抽取、转换和装数据仓库需要将这些源数据经过抽取、转换和装载的过程,存储到数据仓库的数据模型中。可以说,载的过程,存储到数据仓库的数据模型中。
7、可以说,数据仓库的数据获取需要经过抽取数据仓库的数据获取需要经过抽取(Extraction)、转换()、转换(Transform)、装载)、装载(Load)三个过程即)三个过程即ETL过程。过程。数据仓库技术3.5.1 数据抽取数据抽取o确认数据源确认数据源1.数据抽取技术数据抽取技术数据仓库技术1.确认数据源确认数据源o列出对事实表的每一个数据项和事实列出对事实表的每一个数据项和事实o列出每一个维度属性列出每一个维度属性o对于每个目标数据项,找出源数据项对于每个目标数据项,找出源数据项o一个数据元素有多个来源,选择最好的来源一个数据元素有多个来源,选择最好的来源o确认一个目标字段的多个源字段
8、,建立合并规则确认一个目标字段的多个源字段,建立合并规则o确认一个目标字段的多个源字段,建立分离规则确认一个目标字段的多个源字段,建立分离规则o确定默认值确定默认值o检查缺失值的源数据检查缺失值的源数据数据仓库技术2.数据抽取技术数据抽取技术o当前值。当前值。n源系统中存储的数据都代表了当前时刻的值。当商业交源系统中存储的数据都代表了当前时刻的值。当商业交易时,这些数据是会发生变化的。易时,这些数据是会发生变化的。o周期性的状态。周期性的状态。n这类数据存储的是每次发生变化时的状态。例如,对于这类数据存储的是每次发生变化时的状态。例如,对于每一保险索赔,都经过索赔开始、确认、评估和解决等每一保
9、险索赔,都经过索赔开始、确认、评估和解决等步骤,都要考虑有时间说明。步骤,都要考虑有时间说明。数据仓库技术3.5.2 数据转换数据转换o数据转换的基本功能数据转换的基本功能o数据转换类型数据转换类型o数据整合和合并数据整合和合并o如何实施转换如何实施转换数据仓库技术1.数据转换的基本功能数据转换的基本功能o选择:选择:从源系统中选择整个记录或者部分记录。从源系统中选择整个记录或者部分记录。o分离分离/合并:合并:对源系统中的数据进行分离操作或者合并操作。对源系统中的数据进行分离操作或者合并操作。o转化:转化:对源系统进行标准化和可理解化。对源系统进行标准化和可理解化。o汇总:汇总:将最低粒度数
10、据进行汇总。将最低粒度数据进行汇总。o清晰:清晰:对单个字段数据进行重新分配和简化对单个字段数据进行重新分配和简化。数据仓库技术2.数据转换类型数据转换类型(1)格式修正)格式修正(2)字段的解码)字段的解码(3)计算值和导出值)计算值和导出值(4)单个字段的分离)单个字段的分离(5)信息的合并)信息的合并(6)特征集合转化)特征集合转化(7)度量单位的转化)度量单位的转化(8)关键字重新构造)关键字重新构造(9)汇总)汇总(10)日期)日期/时间转化时间转化数据仓库技术3.数据整合和合并数据整合和合并数据整合和合并是将相关的源数据组合数据整合和合并是将相关的源数据组合成一致的数据结构,装入数
11、据仓库。成一致的数据结构,装入数据仓库。(1)实体识别问题)实体识别问题 数据来源于多个不同的客户系统,对相同客户可能分别数据来源于多个不同的客户系统,对相同客户可能分别有不同的键码,将它们组合成一条单独的记录。有不同的键码,将它们组合成一条单独的记录。(2)多数据源相同属性不同值的问题)多数据源相同属性不同值的问题 不同系统中得到的值存在一些差别不同系统中得到的值存在一些差别,需要给出合理的值。,需要给出合理的值。数据仓库技术4.如何实施转换如何实施转换o自己编写程序实现数据转换自己编写程序实现数据转换o使用转换工具使用转换工具数据仓库技术3.5.3 数据装载数据装载(1)数据装载方式)数据
12、装载方式(2)数据装载类型)数据装载类型数据仓库技术1.数据装载方式数据装载方式o基本装载基本装载o按照装载的目标表,将转换过的数据输入到目标表中去。按照装载的目标表,将转换过的数据输入到目标表中去。o追加追加o如果目标表中已经存在数据,追加过程在保存已有数据的基础上增如果目标表中已经存在数据,追加过程在保存已有数据的基础上增加输入数据。加输入数据。o破坏性合并破坏性合并o用新输入数据更新目标记录数据。用新输入数据更新目标记录数据。o建设性合并建设性合并o保留已有的记录,增加输入的记录,并标记为旧记录的替代。保留已有的记录,增加输入的记录,并标记为旧记录的替代。数据仓库技术2.数据装载类型数据
13、装载类型o最初装载最初装载o这是第一次对整个数据仓库进行装载。这是第一次对整个数据仓库进行装载。o增量装载增量装载o由于源系统的变化,数据仓库需要装载变化的数据。由于源系统的变化,数据仓库需要装载变化的数据。o完全刷新完全刷新o这种类型的数据装载用于周期性重写数据仓库。这种类型的数据装载用于周期性重写数据仓库。数据仓库技术3.5.4 ETL工具工具o数据转换引擎数据转换引擎o代码生成器代码生成器o通过复制捕获数据通过复制捕获数据数据仓库技术4.1 数据集市的概念数据集市的概念o数据集市(Data Mart)具有特定应用的数据仓库,主要针对某个具有战略意义的应用或者具体部门级的应用,支持用户利用
14、已有的数据获得重要的竞争优势或者找到进入新市场的具体解决方案。人力资源数据集市人力资源数据集市财务数据集市财务数据集市销售数据集市销售数据集市市场数据集市等市场数据集市等数据仓库技术4.2 数据集市的种类数据集市的种类o独立的数据集市(Independent Data Mart),数据直接来源于数据源。o从属的数据集市(Dependeant Data Mart),数据来源于中央的数据仓库。数据仓库技术数据源数据源分析工具分析工具独立数据集市两种数据集市两种数据集市分析工具中央数据仓库数据源数据源从属数据集市分析工具分析工具数据仓库技术5.1 OLAP的定义o联机分析处理是是一种软件技术,他使分
15、析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。o联机分析技术是共享多维信息的快速分析。快速性 5秒内作出反应可分析性 逻辑分析和统计分析多维性 支持多维表信息性 及时获取信息数据仓库技术一个3维的模型,3个维为:部门,时间,销售。三维立方体,三维表OLAP实例时间时间部门部门销售销售1998 1999汽车家具服装 销售量利润增长%数据仓库技术5.2 OLAP的多维数据分析o切片和切块(slice and dice)固定多维表的某一维或某几维,使一些列或行不显示。o钻取(drill)各粒度级别(维的层次)之间的访问。上钻(drill up)下钻(drill down)
16、o旋转(pivoting)平面数据的坐标轴转换。数据仓库技术5.3 OLTP与与OLAPoOLTP系统联机事务处理 On-Line Transaction Processing 事件驱动,面向应用。如:银行的储蓄系统oOLAP系统联机分析处理 On-Line Analytical Processing 跨部门,面向主题。oOLTP与OLAP对比 数据仓库技术面向分析,分析驱动面向应用,事务驱动面向决策人员,支持管理需要面向操作人员,支持日常操作用户数量相对较少用户数量大响应时间合理对响应时间要求高一次处理的数据量大一次处理的数据量小周期性更新经常更新历史数据当前数据综合性数据细节性数据数据库/
17、数据仓库数据(分析型)数据库数据(操作型)OLAPOLTP数据仓库技术6 数据仓库系统(数据仓库系统(DWS)数据仓库系统数据仓库系统=数据仓库数据仓库(DW)+(DW)+仓库管理仓库管理+分析工具分析工具关系数据数据文件其它数据综合数据当前数据数据仓库管理工具抽取、转换装载元数据库数据建模工具历史数据用户查询工具C/S工具OLAP工具DM工具源数据仓库管理数据仓库分析工具数据仓库技术参考书籍o数据仓库(Building the Data Warehouse)W.H.Inmon机械工业出版社o数据仓库技术及联机分析处理王珊等编著科学出版社 数据仓库技术Q&A 谢谢!数据仓库技术决策支持系统对数
18、据库系统的要求:决策支持系统对数据库系统的要求:o详细数据与总结数据总结数据(summary data)o当前数据与历史数据历史数据o数据源的异构性异构性和分布性分布性 o即时更新与按需更新按需更新o联机事务处理OLTP与联机分析处理联机分析处理OLAP数据仓库技术操作型数据与分析型数据操作型数据与分析型数据操作型数据操作型数据分析型数据分析型数据细节的细节的综合的综合的在存取的瞬间是准确的在存取的瞬间是准确的代表过去的数据代表过去的数据可更新可更新不更新不更新操作需求预先知道操作需求预先知道操作需求预先不知道操作需求预先不知道事务驱动事务驱动分析驱动分析驱动面向日常业务应用面向日常业务应用面
19、向分析决策面向分析决策一次操作数据量少一次操作数据量少一次操作数据量多一次操作数据量多对响应时间的要求高对响应时间的要求高对响应时间的要求低对响应时间的要求低数据仓库技术2.1 面向主题面向主题汽车人寿健康意外伤亡操作性环境操作性环境应应 用用顾客保险单保险费索赔数据仓库数据仓库主主 题题主题是数据归类的标准主题是数据归类的标准数据仓库技术2.2 集成集成 数据库数据库 应用A m,f应用B 1,0应用C x,y应用D 男,女 数据仓库数据仓库 m,f编码应用A 管道cm应用B 管道inches应用C 管道mcf应用D 管道yds管道cm属性度量数据进入数据仓库之前,必须经过加数据进入数据仓库
20、之前,必须经过加工与集成工与集成数据仓库技术应用A 描述应用B 描述应用C 描述应用D 描述应用A char(10)应用B dec fixed(9,2)应用C pic 9999999应用D char(12)多重信息源?描述char(12)冲突的键码集成集成数据仓库技术操作性数据仓库 J Jones女1945年7月20日。J Jones去年有两张罚单一次大事故。J JonesMain大街123号已婚。J Jones两个孩子高血压。人寿保险汽车保险房产保险健康保险J Jones女1945年7月20日出生去年两张罚单一次大事故已婚两个孩子高血压。顾客数据仓库技术2.3 非易失性非易失性插入删除插入修
21、改删除访问修改访问数据的逐个记录方式处理数据的逐个记录方式处理数据的批量载入数据的批量载入/访问访问数据库数据仓库数据仓库技术2.4 随时间变化随时间变化数据库数据库数据仓库数据仓库时间期限:当前到6090天 记录更新键码结构可能包括也可能不 包括时间元素时间期限:510年 数据的复杂快照键码结构包括时间元素数据仓库技术粒度粒度细节的级别细节的级别高细化低粒度例如:一个顾客一个月内 的每个电话的细节低细化高粒度例如:一个顾客一个月内 的电话的综合数据仓库技术数据的分割数据的分割 难以管理容易管理分片分片数据仓库技术3.3.1 简单堆积文件简单堆积文件 1月1日 1月2日 1月3日 2月1日 2
22、月2日 2月3日 3月1日 3月2日 3月3日 数据仓库技术3.3.2 轮转综合文件轮转综合文件 星期一 星期二 星期天 第一周 第二周 第五周 一月 二月 十二月 数据仓库技术3.3.3 简化直接文件简化直接文件数据库快照姓名 顾客号 地址张平 C960100 北京王珂 C960101 上海刘辉 C960102 天津李强 C960103 成都 .一月份顾客表操作性数据生成简化直接文件生成简化直接文件数据仓库技术3.3.4 连续文件连续文件姓名 顾客号 地址张平 C020100 北京王珂 C020101 上海张顺 C020102 天津李强 C020103 成都姓名 顾客号 地址张平 C0201
23、00 北京王珂 C020101 上海张顺 C020101 广州李强 C020103 成都刘诚 C020105 杭州姓名 顾客号 日期 地址张平 C020100 1-2月 北京王珂 C020101 1-2月 上海张顺 C020103 1月 天津张顺 C020103 2月 广州李强 C020103 1-2月 成都刘诚 C020105 2月 杭州1月份顾客表2月份顾客表1-2月份顾客表数据仓库技术元数据(元数据(Metadata)o元数据关于数据的数据,它描述了数据的结构、内容、码、索引等。n元数据的内容不仅为数据仓库的创建提供必要的信息、描述和定义,还为DSS分析人员访问数据仓库提供直接的或辅助的
24、信息。数据仓库技术数据仓库中元数据必须包含的内容数据仓库中元数据必须包含的内容o数据仓库的主题描述:主题名、主体的公共码键、有关描述信息等o外部数据和非结构化数据的描述:外部数据源名、存储地点、存储内容简述 o记录系统定义:主题名、属性名、数据源系统、源表名、源属性名o逻辑模型的定义:关系名、属性1、属性2属性no数据进入数据仓库的转换规则o数据的抽取历史o粒度的定义o数据分割的定义o广义索引:广义索引名,属性1、属性2属性no有关存储路径和结构的描述数据仓库技术三维表切片下钻旋转21.730667721.3202388所有其他27.232540222.4375098汽车31.16600533
25、.862548家具21.538110227.2234670服装利润增长%销售量利润增长%销售量19991998数据仓库技术下钻表14.2220718.263767音乐47.512254543.9116280附件15.018078614.2195051维修27.232540222.4375098汽车利润增长%销售量利润增长%销售量19991998三维表数据仓库技术切片表306677所有其他325402汽车66005家具381102服装销售量1999三维表数据仓库技术旋转表三维表时间维产品维产品维时间维(a)行列交换旋转以改变显示布局时间维地区维产品维时间维产品维地区维数据仓库技术旋转前的数据旋转
26、前的数据旋转后的数据旋转后的数据数据仓库技术星型模式星型模式产品标识符类标识符大类标识符产品名类名大类名现货存量销售表产品标识符商店标识符日期标识符单 价销售金额日期表日期标识符日月季年商店标识符市名省名国名洲名商店表产品表数据仓库技术订货表客户表销售员表事实表产品表日期表地区表星型模型数据存储情况示意图 数据仓库技术雪雪花花模模式式销售表产品标识符产品标识符商店标识符商店标识符日期标识符日期标识符单 价销售金额日期表日期标识符日月月月季月表季年季表产品表产品标识符类标识符产品名现货存量类表类标识符大类标识符类名大类表大类标识符大类名商店表商店标识符市名市名市名省名市表省名国名省表国名洲名国表2023-1-17数据仓库技术