“1+X”(初级)07-数据仓库_第1页
“1+X”(初级)07-数据仓库_第2页
“1+X”(初级)07-数据仓库_第3页
“1+X”(初级)07-数据仓库_第4页
“1+X”(初级)07-数据仓库_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据仓库学习完本课程后,你将能够:了解数据仓库基础知识了解如何设计数据仓库掌握数据仓库模型设计掌握什么是ETL了解阿里云数据仓库技术课程目标课程目录数据仓库概述1.1什么是数据仓库

1.2数据仓库与数据库1.3数据仓库系统的组成1.4数据仓库的作用2.数据仓库设计与实现3.数据仓库的数据模型4.ETL5.阿里云数据仓库技术什么是数据仓库W.H.Inmon在《BuildingtheDataWarehouse》一书中,对数据仓库的定义为:数据仓库是一个面向主题的集成的非易失的随时间变化的用来支持管理人员决策的数据集合。

3数据仓库的几个概念数据仓库基本概念OLAP&OLTPODS、数据集市维度、粒度立方体及其操作星形模型、雪花模型、事实星座4课程目录数据仓库概述

1.1什么是数据仓库1.2数据仓库与数据库

1.3数据仓库系统的组成1.4数据仓库的作用2.数据仓库设计与实现3.数据仓库的数据模型4.ETL5.阿里云数据仓库技术数据仓库与数据库对比内容数据库数据仓库数据内容当前值历史的、存档的、归纳的、计算的数据数据目标面向业务操作程序,重复处理面向主题域,分析应用,支持决策数据特性动态变化,按字段更新静态、不能直接更新,只能定时添加、刷新数据结构高度结构化、复杂,适合操作计算简单,适合分析使用频率高中到低数据访问量每个事务只访问少量记录有的事务可能需要访问大量记录对响应时间的要求以秒为单位计算以秒、分钟、甚至小时为计算单位6课程目录数据仓库概述

1.1什么是数据仓库

1.2数据仓库与数据库1.3数据仓库系统的组成

1.4数据仓库的作用2.数据仓库设计与实现3.数据仓库的数据模型4.ETL5.阿里云数据仓库技术数据仓库的功能层次概括讲数据仓库系统分为几大功能层次,可以是物理上的也可以是逻辑上的,无论大小数据仓库系统数据相关的都至少包含这三大部分:数据获取、处理及存储、数据应用。通常情况下为了减少相互间的影响,这三大部分是物理隔离的,贯穿三大层次的是数据仓库系统的管理运维。数据应用数据存储处理数据获取管控运维8现在的数据仓库是一种新的范式不同数据类型、不同结构的数据关联起来,满足客户需要;如图:实时数据、非结构化数据等;实时数据仓库以满足实时化&自动化决策需求,大数据&数据湖以支持大量&复杂数据类型。9课程目录数据仓库概述

1.1什么是数据仓库

1.2数据仓库与数据库

1.3数据仓库系统的组成1.4数据仓库的作用2.数据仓库设计与实现3.数据仓库的数据模型4.ETL5.阿里云数据仓库技术数据仓库的作用数据仓库是将随着时间发生变化的数据集成到面向主题的平台,代表的是一种对数据的管理和使用的方式,其目的是分析数据、为企业提供决策依据。数据仓库系统的数据源自业务系统,客观上承载了业务系统数据查询、分析的功能,缓解了业务系统的压力。其作用如下:通过面向主题的数据处理,形成基于优化查询的组织形式,有效提高数据获取、统计和分析的效率;海量数据的关联查询和复杂查询、多维分析、数据挖掘成为可能;数据仓库通过数据集成,实现各种不同数据的关联并使多维分析更加方便,为从多角度多层次地数据分析和决策制定提供的可能;为历史数据分析、历史数据应用提供了保障;为企业统一的数据应用和数据管理、数据资产化、数据运营奠定了基础。数据仓库的应用数据仓库常见应用方式:数据仓库数据提取数据挖掘分析机器学习数据分析报表课程目录数据仓库概述数据仓库设计与实现2.1数据仓库设计原则

2.2数据仓库构建模式2.3数据仓库设计步骤3.数据仓库的数据模型4.ETL5.阿里云数据仓库技术

数据仓库设计原则原则稳定统一安全开放实用易用灵活稳定:架构相对稳定统一:一个系统、统一的数据处理安全:系统安全、数据安全开放:支持对外开放实用:满足不同层次人员需求易用:支持多种手段应用灵活:结构灵活扩展、适用变化14数据仓库系统设计数据获取数据存储数据处理数据应用运维管控需求技术产品15课程目录数据仓库概述数据仓库设计与实现

2.1数据仓库设计原则2.2数据仓库构建模式2.3数据仓库设计步骤3.数据仓库的数据模型4.ETL5.阿里云数据仓库技术数据仓库构建模式自顶向下(集线器结构):根据企业的业务建模、设计数据仓库,然后再具体业务应用。自下向上(总线结构):根据用户的需求通过螺旋发展的过程来设计数据仓库。结合使用混合结构17数据仓库的两种理论RalphKimball和BillInmon一直是商业智能领域中的革新者,开发并测试了新的技术和体系结构。都认为企业需要一个与遗留系统(以前建立的业务系统)和OLTP系统分开的数据仓库。基于二者的理论形成两种构建数据仓库的模式:RalphKimball的看法:“数据仓库仅仅是构成它的数据集市的联合,可以通过一系列维数相同的数据集市递增地构建数据仓库”。每个数据集市将联合多个数据源来满足特定的业务需求。通过使用“一致的”维,能够共同看到不同数据集市中的信息,这表示它们拥有公共定义的元素。

BillInmon将数据仓库定义为“一个面向主题的、集成的、随时间变化的、非易变的用于支持管理的决策过程的数据集合;通过“面向主题”表示应该围绕主题来组织数据仓库中的数据,每个主题区域仅仅包含该主题相关的信息。数据仓库应该一次增加一个主题,并且当需要容易地访问多个主题时,应该创建以数据仓库为来源的数据集市。18构建模式比较企业构建数据仓库还是构建部门级别数据集市然后再见数据仓库的选择取决于项目的主要商业驱动。先建仓库先建集市周期长、前期成本高、基础好、再建立集市方便不能解决当前的问题,长远目标周期短、见效快、基础不牢固、再建数据仓库还需较大成本能解决当前的问题,近期目标19课程目录数据仓库概述数据仓库设计与实现

2.1数据仓库设计原则

2.2数据仓库构建模式

2.3数据仓库设计步骤3.数据仓库的数据模型4.ETL5.阿里云数据仓库技术数据仓库建设需求阶段规划设计阶段实施阶段运行维护数据仓库设计广义上讲数据仓库的设计包括数据仓库的设计以及数据仓库应用的设计,数据仓库应用完全依赖数据仓库,从流程上讲包括数据仓库的规划、设计和实施。数据仓库系统设计任务:规划与确定需求概念与逻辑模型体系架构设计元数据架构设计物理模型设计数据仓库生成数据仓库应用数据仓库运行维护21数据仓库设计方法论系统架构设计是“战略”、系统级别的:抓大放小,不拘细节;概要设计是“战役”,指导具体模块(主题域)或子系统的,但并未明细到每一个实体的每个属性信息;详细设计则是在概要设计的基础上确定细化个各类组件的功能、逻辑流程、业务要求、组件接口;数据仓库的设计就是一个层级推进、逐步细化的过程。采用“自底向上”和“自顶向下”相结合的设计方法。自底向上:完全依赖企业的业务情况、数据情况设计数据仓库,即”数据+业务驱动”设计数据仓库;自顶向下:从需求出发设计数据仓库即“需求驱动”;22设计步骤系统架构设计概要设计详细设计设计实现相关资料信息如需求、业务知识总体规划23课程目录数据仓库概述数据仓库设计与实现数据仓库的数据模型3.1概念模型

3.2逻辑模型3.3物理模型4.ETL5.阿里云数据仓库技术数据仓库数据模型现实世界概念模型逻辑模型物理模型数据仓库维度模型元数据模型25设计方法:第一步在建模之前定义数据模型的边界第二步然后建立企业内不同群体的实体-联系模型第三步最后进行集成企业的总体概念模型第三步概念模型设计26E-R图的描述方法:1矩形表示实体,在数据仓库中表示主题,在矩形框内写上主题名。2椭圆形表示主题的属性,并用无向边把主题与其属性连接起来。3菱形表示主题之间的联系,菱形框内写上联系的名字。概念模型设计27概念模型设计注意事项:描述数据细节数据用户感兴趣的分析数据操作性数据注意事项1数据的历史变迁性注意事项2数据的概括性注意事项3概念模型设计28课程目录数据仓库概述数据仓库设计与实现数据仓库的数据模型

3.1概念模型3.2逻辑模型3.3物理模型4.ETL5.阿里云数据仓库技术逻辑模型设计数据仓库的逻辑模型设计对概念模型的各个主题域进行细化,根据业务定义、分类和规则,定义其中的实体并描述实体之间的关系,并产生实体关系图(ERD),然后遵照规范化思想在实体关系的基础上明确各个实体的属性的过程。30逻辑模型设计方法数据仓库逻辑模型设计常见的方法:三范式建模和维度建模,严格说都属于ER关系建模。逻辑模型与实体-关系建模之间的关系实体-联系图是代表企业中每一个可能的业务过程,一个实体-联系图可以拆分成多个维表、事实表构成的逻辑模型。将E-R图转换成维度建模时的步骤是:(1)将E-R图分成独立的业务处理,然后对每个业务处理单独建模(2)在E-R图中,对包含数字型事实,将他们设计成各个事实表。(3)将剩下的实体进行非规范化处理,设计成维表。31逻辑模型设计——星形模型事实表维度表主要包含了描述特定商业事件的数据,即某些特定商业事件的度量值。一般情况下,事实表中的数据不允许修改,新的数据只是简单地添加进事实表中。主要包含了存储在事实表中数据的特征数据。每一个维度表利用维度关键字通过事实表中的外键约束于事实表中的某一行要求事实表中的外键不能为空,这与一般数据库中外键允许为空是不同的。星形模式通过使用一个包含主题的事实表和多个维度表来支持各种决策查询。32逻辑模型设计——雪花模型雪花模型是对星形模型的扩展,每一个维度都可以向外连接多个详细类别表。在这种模式中,维度表除了具有星形模型中维度表的功能外,还连接对事实表进行详细描述的详细类别表,详细类别表通过对事实表在有关维上的详细描述达到了缩小事实表和提高查询效率的目的。雪花模型架构示意图:事实表维度表维度表维度表维度表维度表详细类别表详细类别表33逻辑模型设计——星座模型一个复杂的商业智能应用往往会在数据仓库中存放多个事实表,这时就会出现多个事实表共享某一个或多个维表的情况,这就是事实星座,也称为星系模型(galaxyschema)。数据仓库由于是企业范围的,能对多个相关的主题建模,所以在设计其数据构成时一般采用星系模式。而数据集市是部门级的,具有选定的主题,可以采用星形或雪花模型。34课程目录数据仓库概述数据仓库设计与实现数据仓库的数据模型

3.1概念模型

3.2逻辑模型

3.3物理模型4.ETL5.阿里云数据仓库技术物理模型设计数据仓库的物理数据模型就是逻辑数据模型在数据仓库中的实现:36物理模型设计目标物理模型设计是依据逻辑模型针对具体的分析需求和物理平台采取相应的优化策略,是一种反规范化的处理。确定命名规范、数据类型规范等实体表设计完成由逻辑模型到物理模型的转换确定数据架构目标:1)确定数据存储结构2)索引策略3)数据存放位置、存储分配注:支撑平台不同,物理结构不同物理模型设计目标37在物理设计时,常常要按数据的重要性、使用频率及对反应时间的要求进行分类,并将不同类型的数据分别存储在不同的存储设备中。2存取频率低或对存取响应时间要求低的数据则可以存放在低速存储设备上。物理模型设计——设计存储结构1重要性高、经常存取并对反应时间要求高的数据存放在高速存储设备上;38数据仓库的性能和存储空间是一对矛盾:粒度太小则事实表将不得不记录所有的细节,储存数据所需要的空间将会急剧的膨胀粒度太大决策者不能观察细节数据物理模型设计——粒度设计LOREMA粗略估计确定粒度个数B确定粒度级别C39创建事实数据表和维度表,并在所有表中的主要字段上建立索引。星型架构由单个事实数据表和一些维度表组成。雪花型架构增加了次要维度表把所有的逻辑模型中的实体和属性都物理化为字段具体的表结构,字段结构和字段长度模型实现-创建数据仓库数据库40课程目录数据仓库概述数据仓库设计与实现数据仓库的数据模型ETL4.1数据抽取

4.2数据转换

4.3数据加载5.阿里云数据仓库技术ETL过程数据仓库的ETL过程是数据处理过程,通常讲其输入是数据仓库的数据源系统或数据源文件,输出是数据仓库。42什么是ETL43目标数据库清洗转换抽取装载源数据库源文件其他ETL是Extract、Transform、Loading三个字母的缩写,即抽取、转换、装载。ETL过程的分类与作用

数据仓库的架构大体可以分为三部分:后台是数据存储和计算引擎;前端是展示分析流程或分析结果的界面;另一部分就是ETL。ETL前端分析或结果展示后台数据存储与计算引擎ETL过程可以被划分为两种类型:全量ETL过程和增量ETL过程。全量ETL过程一般用于数据仓库的初始化,而增量ETL过程则用于数据仓库的增量维护。相对于全量ETL过程而言,增量ETL过程设计更复杂。ETL主要作用:屏蔽了复杂的业务逻辑从而为各种基于数据仓库的分析和应用提供了统一的数据接口,这正是构建数据仓库的重要目的。44数据抽取全量抽取增量抽取数据抽取数据抽取:从源文件和源数据库中获取相关数据用于填充数据仓库。并非所有包含在不同操作型业务系统中的数据都需要抽取;抽取数据的一个子集是基于对源系统和目标系统的扩展分析,一般会由终端用户和数据仓库专家共同决定。

全量抽取:类似于数据迁移或数据复制,它将数据源中的表或视图的数据全部从数据库中抽取出来,再进行后续的转换和加载操作。一般数仓进行初始化时进行全量抽取。增量抽取:全量抽取完成后,后续的抽取操作只需抽取自上次抽取以来表中新增或修改的数据。45ETL增量抽取机制

目前增量数据抽取中常用的捕获变化数据的方法主要有以下几种:1、触发器方式触发器方式是普遍采取的一种增量抽取机制。该方式是根据抽取要求,在要被抽取的源表上建立插入、修改、删除3个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个增量日志表,ETL的增量抽取则是从增量日志表中而不是直接在源表中抽取数据,同时增量日志表中抽取过的数据要及时被标记或删除。46ETL增量抽取机制2.时间戳方式时间戳方式是指增量抽取时,抽取进程通过比较系统时间与抽取源表的时间戳字段的值来决定抽取哪些数据。这种方式需要在源表上增加一个时间戳字段,系统中更新修改表数据的时候,同时修改时间戳字段的值。有的数据库(例如SqlServer)的时间戳支持自动更新,即表的其它字段的数据发生改变时,时间戳字段的值会被自动更新为记录改变的时刻。在这种情况下,进行ETL实施时就只需要在源表加上时间戳字段就可以了。对于不支持时间戳自动更新的数据库,这就要求业务系统在更新业务数据时,通过编程的方式手工更新时间戳字段。使用时间戳方式可以正常捕获源表的插入和更新操作,但对于删除操作则无能为力,需要结合其它机制才能完成。47ETL增量抽取机制3.全表删除插入方式全表删除插入方式是指每次抽取前先删除目标表数据,抽取时全新加载数据。该方式实际上将增量抽取等同于全量抽取。对于数据量不大,全量抽取的时间代价小于执行增量抽取的算法和条件代价时,可以采用该方式。4.全表比对方式全表比对即在增量抽取时,ETL进程逐条比较源表和目标表的记录,将新增和修改的记录读取出来。5.日志表方式

对于建立了业务系统的生产数据库,可以在数据库中创建业务日志表,当特定需要监控的业务数据发生变化时,由相应的业务系统程序模块来更新维护日志表内容。增量抽取时,通过读日志表数据决定加载哪些数据及如何加载。日志表的维护需要由业务系统程序用代码来完成。48课程目录数据仓库概述数据仓库设计与实现数据仓库的数据模型ETL

4.1数据抽取4.2数据转换

4.3数据加载5.阿里云数据仓库技术数据转换

数据转换指接收来自不同运作系统的输入并将其转换成目标数据仓库中需要的格式的过程,包括数据的合并、汇总、过滤、转换等。

在设计数据转换时,由于数据源之间往往存在着不一致的问题,因此数据转换必须做到数据名称及格式的统一,同时对于源数据库中可能不存在的数据需要创建新的数据逻辑视图并进行相应的转换。转换常见的三种方式:1)源系统根据规则处理2)ETL工具处理3)入库后仓库自行处理转换源系统负责处理ETL过程仓库入库后处理50数据转换中的处理1字符串处理。从数据源的字符串字段中获取特定信息作为目标数据库的某个字段,则对字符串的操作有类型转换、字符串截取等。由于字符类型字段的随意性也可能造成脏数据的出现,所以在处理这种规则的时候,需要异常处理。2直接映射。数据源字段和目标字段长度或精度相同,则无需做任何处理。3字段运算。对于数值型字段来说,有时数据源的一个或多个字段进行数学运算而得到目标字段,则需要某些字段运算。4空值判断。对于数据源字段中的NULL值,可能在目标数据库进行分析处理时会出问题,因此必须对空值进行判断,并转换成特定的值。51数据转换中的处理5日期转换。由于目标数据库中的日期类型格式是统一的,所以对数据源字段的日期格式需要相应的转换。6聚集运算。对于目标数据库事实表中的一些度量字段,通常需要通过数据源一个或多个字段运用聚集函数进行聚集运算得来,常用的聚集函数有:sum.count,avg,min,max。7既定取值。这条规则对于目标字段取一个固定的或是依赖系统的值,而不依赖于数据源字段。52数据转换中的处理-数据清洗“脏数据”即数据有空缺、噪声等缺陷,而且在数据仓库的各数据源之间,其内容也可能存在着不一致的现象这也称之为“脏数据”。对这些数据的处理过程称之为“数据清洗”(DataCleaning)。常见处理方法:数据空缺通常采用忽略元组、用一个全局常量填充空缺值、用属性的平均值填充空缺值、使用与给定元组同类的所有样本的平均值填充空缺值、使用最可能的值填充空缺值、使用像Bayesian公式或判定树这样的基于推断的方法;噪声数据可以用分箱或聚类等方法处理;而对于不一致的数据,则必须依据数据仓库所应用领域的特点,使用特定的方法加以解决。数据不一致则需要根据具体的业务场景来采取不同的处理方法,如通信公司在CRM系统中存在客户资料信息,在计费系统中也存在客户资料信息,二者数据冲突,根据“谁管理谁负责”的原则,认为CRM系统的客户信息是准确可靠的。53课程目录数据仓库概述数据仓库设计与实现数据仓库的数据模型ETL

4.1数据抽取

4.2数据转换

4.3数据加载5.阿里云数据仓库技术数据加载

数据加载负责将经过前几步清洗和转换后的数据按照目标数据库元数据定义的表结构装入数据仓库。加载数据到目标数据仓库的两个基本方式是刷新方式和更新方式。数据加载刷新更新采用在定期的间隔对目标数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论