版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、BI,数据仓库(DW)建模与ETL的实践技巧,作者:MALONE 日期:2009-02-20,主要内容(一),一、什么是BI(Business Intelligence) (一)、什么是BI的定义? (二)、BI的诞生? (三)、基本技术 (四)、数据处理 (五)、数据展现 (六)、常用的BI 厂商和产品,主要内容(二),二、数据仓库的架构 (一)、什么是数据仓库? (二)、数据仓库和OLTP数据库的区别? (三)、数据仓库的架构模型有哪些? 三、构建企业级数据仓库五步法 (一)、确定主题 (二)、确定量度 (三)、确定事实数据粒度 (四)、确定维度 如何理解维度?及维度的层次和级别? 什么是
2、缓慢变化维度? 缓慢变化维度 几种基本情况? 几种情况的利弊? (五)、创建事实表,主要内容(三),四、什么是ETL(ETL中的关键技术) (一)、数据抽取 (1)全量抽取 (2)增量抽取 增量数据抽取中常用的捕获变化数据的方法: a.触发器b.时间戳 c.全表比对d.日志对比 (二)、数据转换和加工 (1)ETL引擎中的数据转换和加工 (2)在数据库中进行数据加工 (三)、数据装载 (1)直接SQL语句进行insert、update、delete操作 (2)采用批量装载方法,如bcp、bulk、关系数据库特有的批量装载工具或api (四)、主流ETL工具介绍,主要内容(一),一、什么是BI(
3、Business Intelligence) (一)、什么是BI的定义? (二)、BI的诞生? (三)、基本技术 (四)、数据处理 (五)、数据展现 (六)、常用的BI 厂商和产品,一、什么是BI(Business Intelligence),(一)、什么是BI(Business Intelligence) a、什么是BI的定义? BI是Business Intelligence的英文缩写,中文解释为商务智能,用来帮助企业更好地利用数据提高决策质量的技术集合,是从大量的数据中钻取信息与知识的过程。 简单讲就是业务、数据、数据价值应用的过程。 用图解的方式可以理解为下图:,这样不难看出,传统的交
4、易系统完成的是Business到Data的过程,而BI要做的事情是在Data的基础上,让Data产生价值,这个产生价值的过程就是Business Intelligence analyse的过程。,一、什么是BI(Business Intelligence),b、如何实现Business Intelligence analyse的过程 从技术角度来说,是一个复杂的技术集合,它包含ETL、DW、OLAP、DM等多环节,基本过程可用下图描述。,上图流程,简单的说就是把交易系统已经发生过的数据,通过ETL工具抽取到主题明确的数据仓库中,OLAP后生成Cube或报表,透过Portal展现给用户,用户利用
5、这些经过分类(Classification)、聚集(Clustering)、描述和可视化(Description and Visualization)的数据,支持业务决策。,一、什么是BI(Business Intelligence),说明: BI不能产生决策,而是利用BI过程处理后的数据来支持决策。哪么BI所谓的智能到底是什么呢? (理清这个概念,有助于对BI的应用。)BI最终展现给用户的信息就是报表或图视,但它不同于传统的静态报表或图视,它颠覆了传统报表或图视的提供与阅读的方式,产生的数据集合就象玩具“魔方”一样,可以任意快速的旋转组合报表或图视, 有力的保障了用户分析数据时操作的简单性、
6、报表或图视直观性及思维的连惯性。,实例: c、商业智能(BI)在电信行业所处的商业作用和价值?(什么是电信BI) BI应用在电信行业又称作电信经营分析系统。 随着竞争的加剧和数据业务的发展,电信业BI市场将进入一个高速发展的时期。在电信市场竞争愈演愈烈的背景下,各个运营商已经从业务为中心向以服务为中心转变,原来赖以竞争的手段如价格战、行业垄断优势、促销策略等以无法适应新形势的需要。 为了保住客户资源,运营商需要一套业务分析支持系统,以从自身市场数据中获得能够真正反映企业运营状况的有效信息,从而为市场经营决策提供科学支持,商业智能(BI)所处的商业作用和价值显而易见。,主要内容(一),一、什么是
7、BI(Business Intelligence) (一)、什么是BI的定义? (二)、BI的诞生? (三)、基本技术 (四)、数据处理 (五)、数据展现 (六)、常用的BI 厂商和产品,一、什么是BI(Business Intelligence),(二)、BI的诞生? 典型的案例有超市,便利店“尿片和啤酒”的故事,(三)、基本技术 a、BI(Business Intelligence) 是一种运用了数据仓库、在线分析和数据挖掘等技术来处理和分析数据的崭新技术,目的:是为企业决策者提供决策支持。 b、哪么BI技术涉及了哪些方面呢? 其核心技术中ETL、DW及OLAP。或者说是“数据处理技术”与
8、“数据展现技术”更加容易理解。 c、为什么要在操作型数据库和 OLAP 之间加一层“数据仓库”呢? 花空间买时间(资源与效能的问题) 说一千道一万都计算机资源与效能惹的祸,操作型数据库以快速响应业务为主要目标,而OLAP的时候要占用大量的硬件资源,在OLAP的时候,业务操作很难快速响应,无法保证业务的顺利进行,从业务、数据、数据的价值的逻辑来看,没有业务就谈不上OLAP;零星分散的数据一般存在有多个应用,对应多个业务操作型数据库,访问效能极其低下。 最高效的方法:就是将数据先整合到数据仓库中,而 由OLAP应用统一从数据仓库里取数,以解决快速响应业务与OLAP的矛盾。,主要内容(一),一、什么
9、是BI(Business Intelligence) (一)、什么是BI的定义? (二)、BI的诞生? (三)、基本技术 (四)、数据处理 (五)、数据展现 (六)、常用的BI 厂商和产品,一、什么是BI(Business Intelligence),上图流程,简单的说就是把交易系统已经发生过的数据,通过ETL工具抽取到主题明确的数据仓库中,OLAP后生成Cube或报表,透过Portal展现给用户,用户利用这些经过分类(Classification)、聚集(Clustering)、描述和可视化(Description and Visualization)的数据,支持业务决策。,DB2、Info
10、rmix,Oracle,Sysbase,其他数据结构类型,一、什么是BI(Business Intelligence),(四)、数据处理 (1)、 ODS 层的作用? 1)、在业务系统和数据仓库之间的数据过渡离层。 如果业务数据来源比较复杂,一般采用构造ODS的方法来实现收集当前需要处理的数据。如下述数据来源: a、业务数据库种类繁多。业务交易系统使用了不同种的数据库, 如DB2、Informix、Oracle、SQL server、文本等。 b、不同的应用系统、不同的地理位置。 c、订阅数据源。 d、批量还原非传统数据库数据。 . .等等。用于存放从业务系统直接抽取出来的数据,这些数据从数据
11、结构、数据之间的逻辑关系上都与业务系统基本保持一致。 2)、保存当前或接近当前的细节数据,以供查询或ETL检错使用。 3)、数据存储周期性。ODS中存储的数据都是临时的,每次ETL之前都要清空ODS中存储的数据。 (2)、ETL(Extract Transform Load)操作型业务数据库(DB)到数据仓库(DW)的过程称之为ETL,它实现数据的抽取,转换及装载工作。 抽取:将数据从各种原始的业务系统中读取出来。 转换:按照预先设计好的规则将抽取得数据进行转换、清洗,以及处理一些冗余、歧义的数据,使本来异构的数据格式能统一起来。 装载:将转换完的数据按计划增量或全部的导入到数据仓库中。 在技
12、术上主要涉及增量、转换、调度和监控等几个方面的处理。 (3)、DW,(Data Warehouse) 数据仓库的官方定义是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。 (4)、OLAP(On-Line Analytical Processing)即联机分析处理,是BI的一种全新的数据封装方式,直接产物是报表或Cube,是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。,主要内容(
13、一),一、什么是BI(Business Intelligence) (一)、什么是BI的定义? (二)、BI的诞生? (三)、基本技术 (四)、数据处理 (五)、数据展现 (六)、常用的BI 厂商和产品,一、什么是BI(Business Intelligence),上图流程,简单的说就是把交易系统已经发生过的数据,通过ETL工具抽取到主题明确的数据仓库中,OLAP后生成Cube或报表,透过Portal展现给用户,用户利用这些经过分类(Classification)、聚集(Clustering)、描述和可视化(Description and Visualization)的数据,支持业务决策。,D
14、B2、Informix,Oracle,Sysbase,其他数据结构类型,一、什么是BI(Business Intelligence),(五)、数据展现 数据查询是最简单的 BI 应用,输出报表是BI最直接的产物,根据数据连接,加工过程及用途,应用模式大致可以分为四种:格式报表;在线分析;数据可视化;数据挖掘。 1、格式报表:带格式的数据集合,如:交叉表等。 2、在线分析:多维数据集合,如:Cube等。 3、数据可视化:信息以尽可能多的形式展现出来,目的是使决策者通过图形这种直观的表现方式迅速获得信息中蕴藏的知识,如柱图,仪表盘等。 4、数据挖掘:从大量的数据中,抽取出潜在的、有价值的知识(模型
15、或规则)的过程。 (六)、常用的BI 厂商和产品 ETL:Informatica, SQL Server Analysis Server DW:IBM DB2,Oracle,NCR Teradata ,Sybase IQ等等; OLAP: Business Objects, Hyperion, Cognos,MicroStrategy,IBM Data Mining:IBM,SAS,SPSS 现在很多的数据库提供商都开始绑定BI的开发组件到自己的数据库产品中,他们都瞄准了这其中的肥肉,磨拳檫掌,各论长短。,一、什么是BI(Business Intelligence),上图流程,简单的说就是把交
16、易系统已经发生过的数据,通过ETL工具抽取到主题明确的数据仓库中,OLAP后生成Cube或报表,透过Portal展现给用户,用户利用这些经过分类(Classification)、聚集(Clustering)、描述和可视化(Description and Visualization)的数据,支持业务决策。,DB2、Informix,Oracle,Sysbase,其他数据结构类型,Informatica,SQL Server Analysis Server,IBM DB2,Oracle,NCR Teradata,Business Objects,Hyperion,Cognos,MicroStrat
17、egy,主要内容(一)总结,一、什么是BI(Business Intelligence) (一)、什么是BI的定义? (二)、BI的诞生? (三)、基本技术 (四)、数据处理 (五)、数据展现 (六)、常用的BI 厂商和产品,主要内容(二),二、数据仓库的架构 (一)、什么是数据仓库? (二)、数据仓库OLAP和OLTP数据库的区别? (三)、数据仓库的架构模型有哪些? 三、构建企业级数据仓库五步法 (一)、确定主题 (二)、确定量度 (三)、确定事实数据粒度 (四)、确定维度 如何理解维度?及维度的层次和级别? 什么是缓慢变化维度? 缓慢变化维度 几种基本情况? 几种情况的利弊? (五)、创
18、建事实表,一、数据仓库的架构,(一)、什么是数据仓库? 数据仓库(Data Warehouse DW)是为了便于多维分析和多角度展现而将数据按特定的模式进行存储所建立起来的关系型数据库,它的数据基于OLTP源系统。 数据仓库中的数据是细节的、集成的、面向主题的,以OLAP系统的分析需求为目的。 四个基本特征: DW的数据是面向主题的 DW的数据是集成的 DW的数据是非易失的(相对稳定的) DW的数据是随时间不断变化的(反映历史变化(Time Variant),主要内容(二),二、数据仓库的架构 (一)、什么是数据仓库? (二)、数据仓库OLAP和OLTP数据库的区别? (三)、数据仓库的架构模
19、型有哪些? 三、构建企业级数据仓库五步法 (一)、确定主题 (二)、确定量度 (三)、确定事实数据粒度 (四)、确定维度 如何理解维度?及维度的层次和级别? 什么是缓慢变化维度? 缓慢变化维度 几种基本情况? 几种情况的利弊? (五)、创建事实表,(二)、数据仓库OLAP和OLTP数据库的区别?,主要内容(二),二、数据仓库的架构 (一)、什么是数据仓库? (二)、数据仓库OLAP和OLTP数据库的区别? (三)、数据仓库的架构模型有哪些? 三、构建企业级数据仓库五步法 (一)、确定主题 (二)、确定量度 (三)、确定事实数据粒度 (四)、确定维度 如何理解维度?及维度的层次和级别? 什么是缓
20、慢变化维度? 缓慢变化维度 几种基本情况? 几种情况的利弊? (五)、创建事实表,(三)、数据仓库的架构模型有哪些?,1、星型架构图1.1(某零售分析系统) 星型架构的中间为事实表,四周为维度表,类似星星 2、 雪花型架构图1.2(某分析系统) 雪花型架构的中间为事实表,两边的维度表可以再有其关联子表,从而表达了清晰的维度层次关系。,3、两者比较? 从OLAP系统的分析需求和ETL的处理效率两方面来考虑:星型结构聚合快,分析效率高;而雪花型结构明确,便于与OLTP系统交互。 因此,在实际项目中,我们将综合运用星型架构与雪花型架构来设计数据仓库。,(三)、数据仓库的架构模型有哪些?,主要内容(二
21、),二、数据仓库的架构 (一)、什么是数据仓库? (二)、数据仓库OLAP和OLTP数据库的区别? (三)、数据仓库的架构模型有哪些? 三、构建企业级数据仓库五步法 (一)、确定主题 (二)、确定量度 (三)、确定事实数据粒度 (四)、确定维度 如何理解维度?及维度的层次和级别? 什么是缓慢变化维度? 缓慢变化维度 几种基本情况? 几种情况的利弊? (五)、创建事实表,三、构建企业级数据仓库五步法,(一)、确定主题 即确定数据分析或前端展现的主题。 (以上海烟草集团零售分析系统为例,23家有限公司进销存情况) 例如:我们希望分析某月某有限公司某卷烟销售情况,这就是一个主题。 主题要体现出某一方
22、面的各分析角度(维度)和统计数值型数据(量度)之间的关系,确定主题时要综合考虑。统计数值型数据(量度)存在于中间的事实表;分析角度是各个维度;我们将通过维度的组合,来考察量度。 那么,“某年某月某一地区的卷烟销售情况”这样一个主题,就要求我们通过时间,地区和卷烟三个维度的组合,来考察销售情况这个量度。 从而,不同的主题来源于数据仓库中的不同子集,我们可以称之为数据集市。数据集市体现了数据仓库某一方面的信息,多个数据集市构成了数据仓库。,(二)、确定量度 在确定了主题以后,我们将考虑要分析的技术指标,诸如:年销售额之类。它们一般为数值型数据。 我们或者将该数据汇总,或者将该数据取次数、独立次数或
23、取最大最小值等,这样的数据称为量度。 量度是要统计的指标,必须事先选择恰当,基于不同的量度可以进行复杂关键性能指标(KPI)等的设计和计算。,三、构建企业级数据仓库五步法,主要内容(二),二、数据仓库的架构 (一)、什么是数据仓库? (二)、数据仓库OLAP和OLTP数据库的区别? (三)、数据仓库的架构模型有哪些? 三、构建企业级数据仓库五步法 (一)、确定主题 (二)、确定量度 (三)、确定事实数据粒度 (四)、确定维度 如何理解维度?及维度的层次和级别? 什么是缓慢变化维度? 缓慢变化维度 几种基本情况? 几种情况的利弊? (五)、创建事实表,(三)、确定事实数据粒度 在确定了量度之后,
24、我们要考虑到该量度的汇总情况和不同维度下量度的聚合情况。考虑到量度的聚合程度不同,我们将采用“最小粒度原则”,即将量度的粒度设置到最小。 例如:假设目前的数据最小记录到包卷烟,即数据库中记录了每包卷烟的交易额。 那么,如果我们可以确认,在将来的分析需求中,卷烟只需要精确到包就可以的话,我们就可以在ETL处理过程中,按包为单位来汇总进销存数据,此时,数据仓库中量度的粒度就是“包”; 反过来,如果我们不能确认将来的分析需求在卷烟上是否需要精确到包,那么,我们就需要遵循“最小粒度原则”,在数据仓库的事实表中保留每一支的进销存数据,以便日后对“支”进行分析。 举例:卷烟零售分析系统中,需求变更要求以万
25、支为单位分析卷烟进销存情况。 附加:DDS层 销售,库存及进货事实表结构 和 卷烟单位代码表,三、构建企业级数据仓库五步法,三、构建企业级数据仓库五步法,三、构建企业级数据仓库五步法,主要内容(二),二、数据仓库的架构 (一)、什么是数据仓库? (二)、数据仓库OLAP和OLTP数据库的区别? (三)、数据仓库的架构模型有哪些? 三、构建企业级数据仓库五步法 (一)、确定主题 (二)、确定量度 (三)、确定事实数据粒度 (四)、确定维度 如何理解维度?及维度的层次和级别? 什么是缓慢变化维度? 缓慢变化维度 几种基本情况? 几种情况的利弊? (五)、创建事实表,三、构建企业级数据仓库五步法,(
26、四)、确定维度 1、如何理解维度?及维度的层次(Hierarchy)和级别(Level) a、维度是指分析的各个角度。例如我们希望按照时间,或者按照地区,或者按照卷烟名称进行分析,那么这里的时间、地区、卷烟就是相应的维度。基于不同的维度,我们可以看到各量度的汇总情况,也可以基于所有的维度进行交叉分析。 b、维度的层次(Hierarchy)和级别(Level) 层次:时间维表结构 为例,年-半年-季度-月-半月-旬-周-日 级别:卷烟维表结构 为例,卷烟价格分类一类(如:中华,熊猫)、二类(如:红双喜等)、三类、 四类、五类(如:女士烟)、雪茄烟等等 2、什么是缓慢变化维度? 维度表随时间变化的
27、问题,我们称其为缓慢变化维度。 以客户维表结构为例,每月所属有限公司发生变化, 客户代码,客户标识,源客户标识,客户全称,分公司编号,分公司名称,历史标识(T/F)等变化,三、构建企业级数据仓库五步法,客户维表结构,三、构建企业级数据仓库五步法,3、缓慢变化维度 几种基本情况? 几种情况的利弊? (1)、缓慢变化维度第一种类型:(UPDATE)-覆盖 历史数据需要修改。这种情况下,我们使用UPDATE方法来修改维度表中的数据。 例如:分公司编号=I0,分公司名称=闸北,后来发现该客户所属区域已经发生迁移,从闸北区迁移到了宝山区, 处理方法:在ETL处理时,直接修改维度表中分公司编号=Q0,分公
28、司名称=宝山 (2)、缓慢变化维度第二种类型:(UPDATE / INSERT) -分历史选择 历史数据保留,新增数据也要保留。这时,要将原数据更新,将新数据插入. 例如:分公司编号=I0,分公司名称=闸北,后来发现该客户所属区域已经发生迁移,从闸北区迁移到了宝山区, 处理方法:在ETL处理时,先将原先的客户代码,客户标识,源客户标识,客户全称,分公司编号,分公司名称,历史标识 修改,然后插入新信息。 UPDATE:客户代码 不变,客户标识 不变,源客户标识=客户标识,客户全称=*客户全称,分公司编号 不变,分公司名称 不变,历史标识=F INSERT:客户代码=新客户代码,客户标识=新客户标
29、识,源客户标识=update的客户标识,客户全称=客户全称,分公司编号=Q0,分公司名称=宝山,历史标识=T。 (3)、缓慢变化维度第三种类型:-交替实体 新增数据维度成员改变了属性。例如:某一维度成员新加入了一列,该列在历史数据中不能基于它浏览,而在目前数据和将来数据中可以按照它浏览,那么此时我们需要改变维度表属性,即加入新的字段列。那么,我们将使用存储过程或程序生成新的维度属性,在后续的数据中将基于新的属性进行查看。,主要内容(二),二、数据仓库的架构 (一)、什么是数据仓库? (二)、数据仓库OLAP和OLTP数据库的区别? (三)、数据仓库的架构模型有哪些? 三、构建企业级数据仓库五步
30、法 (一)、确定主题 (二)、确定量度 (三)、确定事实数据粒度 (四)、确定维度 如何理解维度?及维度的层次和级别? 什么是缓慢变化维度? 缓慢变化维度 几种基本情况? 几种情况的利弊? (五)、创建事实表,三、构建企业级数据仓库五步法,(五)、创建事实表 (1)、了解 在确定好事实数据和维度后,我们将考虑加载事实表。 事实表装有企业的度量数据,度量以及事实表才是最终用户真正想要看的内容,维表是事实表数据的入口,事实只有通过维度解释才会变得有意义。 (2)、如何创建? 做法:将原始表(OLTP)与维度表进行关联,生成事实表. 注意点:在关联时有为空的数据时(数据源脏),需要使用外连接,连接后
31、我们将各维度的代理键取出放于事实表中,事实表除了各维度代理键外,还有各量度数据,这将来自原始表,事实表中将存在维度代理键和各量度,而不应该存在描述性信息,即符合“瘦高原则”,即要求事实表数据条数尽量多(粒度最小),而描述性信息尽量少。 事实数据表是数据仓库的核心,需要精心维护,在JOIN后将得到事实数据表,一般记录条数都比较大,我们需要为其设置复合主键和索引,以实现数据的完整性和基于数据仓库的查询性能优化。事实数据表与维度表一起放于数据仓库中,如果前端需要连接数据仓库进行查询,我们还需要建立一些相关的中间汇总表或物化视图,以方便查询. 举例: 附加:HDS层,到 DDS层 销售实事表结构,三、
32、构建企业级数据仓库五步法,三、构建企业级数据仓库五步法,HDS层表结构,三、构建企业级数据仓库五步法,DDS层表结构,主要内容(二)总结,二、数据仓库的架构 (一)、什么是数据仓库? (二)、数据仓库OLAP和OLTP数据库的区别? (三)、数据仓库的架构模型有哪些? 三、构建企业级数据仓库五步法 (一)、确定主题 (二)、确定量度 (三)、确定事实数据粒度 (四)、确定维度 如何理解维度?及维度的层次和级别? 什么是缓慢变化维度? 缓慢变化维度 几种基本情况? 几种情况的利弊? (五)、创建事实表,主要内容(三),四、什么是ETL(ETL中的关键技术) (一)、数据抽取 (1)全量抽取 (2
33、)增量抽取 增量数据抽取中常用的捕获变化数据的方法: a.触发器b.时间戳 c.全表比对d.日志对比 (二)、数据转换和加工 (1)ETL引擎中的数据转换和加工 (2)在数据库中进行数据加工 (三)、数据装载 (1)直接SQL语句进行insert、update、delete操作 (2)采用批量装载方法,如bcp、bulk、关系数据库特有的批量装载工具或api (四)、主流ETL工具介绍,四、什么是ETL(ETL中的关键技术),(零)、什么是ETL a、在数据仓库的构建中,ETL贯穿于项目始终,它是整个数据仓库的生命线,包括了数据清洗、整合、转换、加载等各个过程。如果说数据仓库是一座大厦,那么E
34、TL就是大厦的根基。ETL抽取整合数据的好坏直接影响到最终的结果展现。所以ETL在整个数据仓库项目中起着十分关键的作用,必须摆到十分重要的位置。 b、ETL是数据抽取(Extract)、转换(Transform)、加载(Load )的简写, 它是指:将OLTP系统中的数据抽取出来,并将不同数据源的数据进行转换和整合,得出一致性的数据,然后加载到数据仓库中。 c、简而言之,通过ETL,我们可以基于源系统中的数据来生成数据仓库。ETL为我们搭建了OLTP系统和OLAP系统之间的桥梁。 如下图:,主要内容(三),四、什么是ETL(ETL中的关键技术) (一)、数据抽取 (1)全量抽取 (2)增量抽取
35、 增量数据抽取中常用的捕获变化数据的方法: a.触发器b.时间戳 c.全表比对d.日志对比 (二)、数据转换和加工 (1)ETL引擎中的数据转换和加工 (2)在数据库中进行数据加工 (三)、数据装载 (1)直接SQL语句进行insert、update、delete操作 (2)采用批量装载方法,如bcp、bulk、关系数据库特有的批量装载工具或api (四)、主流ETL工具介绍,四、什么是ETL(ETL中的关键技术),(一)、数据抽取 数据抽取是从数据源中抽取数据的过程。实际应用中,数据源较多采用的是关系数据库。 (1)全量抽取 全量抽取类似于数据迁移或数据复制,它将数据源中的表或视图的数据原封
36、不动的从数据库中抽取出来,并转换成自己的ETL工具可以识别的格式。全量抽取比较简单。 例如: 数据源表HDS.SYC_TSL00_DAYHIS(日结数据表),主要内容(三),四、什么是ETL(ETL中的关键技术) (一)、数据抽取 (1)全量抽取 (2)增量抽取 增量数据抽取中常用的捕获变化数据的方法: a.触发器b.时间戳 c.全表比对d.日志对比 (二)、数据转换和加工 (1)ETL引擎中的数据转换和加工 (2)在数据库中进行数据加工 (三)、数据装载 (1)直接SQL语句进行insert、update、delete操作 (2)采用批量装载方法,如bcp、bulk、关系数据库特有的批量装载
37、工具或api (四)、主流ETL工具介绍,四、什么是ETL(ETL中的关键技术),(2)增量抽取 增量数据抽取中常用的捕获变化数据的方法: a.触发器(不谈) 在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除。 触发器方式优缺点: 优点:是数据抽取的性能较高.缺点:是要求业务表建立触发器,对业务系统有一定的影响。 b.时间戳(谈) 它是一种基于快照比较的变化数据捕获方式,在源表上增加一个时间戳字段,系统中更新修改表数据的时候,同时修改时间戳字段
38、的值。 当进行数据抽取时,通过比较系统时间与时间戳字段的值来决定抽取哪些数据。有的数据库的时间戳支持自动更新,即表的其它字段的数据发生改变时,自动更新时间戳字段的值。有的数据库不支持时间戳的自动更新,这就要求业务系统在更新业务数据时,手工更新时间戳字段。 同触发器方式一样,时间戳方式的性能也比较好,数据抽取相对清楚简单,但对业务系统也有很大的倾入性(加入额外的时间戳字段),特别是对不支持时间戳的自动更新的数据库,还要求业务系统进行额外的更新时间戳操作。另外,无法捕获对时间戳以前数据的delete和update操作,在数据准确性上受到了一定的限制。 附加:数据源表HDS.SYC_TSL00_DA
39、YHIS(日结数据表)表结构。loaddate:加载日期 。交易日期V_MONTH 参考:HDS 4 TABLE.xls c.全表比对(不谈) d.日志对比(不谈),四、什么是ETL(ETL中的关键技术),四、什么是ETL(ETL中的关键技术),主要内容(三),四、什么是ETL(ETL中的关键技术) (一)、数据抽取 (1)全量抽取 (2)增量抽取 增量数据抽取中常用的捕获变化数据的方法: a.触发器b.时间戳 c.全表比对d.日志对比 (二)、数据转换和加工 (1)ETL引擎中的数据转换和加工 (2)在数据库中进行数据加工 (三)、数据装载 (1)直接SQL语句进行insert、update、delete操作 (2)采用批量装载方法,如bcp、bulk、关系数据库特有的批量装载工具或api (四)、主流ETL工具介绍,四、什么是ETL(ETL中的关键技术),(二)、数据转换和加工 从数据源中抽取的数据不一定完全满足目的库的要求,例如数据格式的不一致、数据输入错误、数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年绵阳市第三人民医院招聘考试试卷真题
- 2025年德州天衢新区招聘教师考试试卷真题
- 5.语法分析-LALR(1)方法
- 2029年粮油调料配送合作协议三篇
- 幼儿园中班铁路安全
- 有理数的乘除运算(第2课时有理数的乘法运算律)课件2026-2027学年学年北师大版七年级数学上册
- 译林版英语六年级下册Unit8 课时作业1
- (2026年)新工人进场三级安全教育(木工班组)试卷及答案
- 中小学校财务管理制度
- 2026边境辅警面试题目及答案
- 2026及未来5年中国海洋捕捞渔船行业市场运行格局及发展趋向研判报告
- 2026至2031中国迷你电脑主机行业市场发展现状研究及投资战略咨询报告
- 四川省成都市金牛区2026年中考语文二模试卷含答案
- 2026中国热带农业科学院热带生物技术研究所第一批招聘38人备考题库及完整答案详解1套
- GIS安装施工方案
- 维保作业安全培训内容课件
- (2025年)社会工作考试试题及答案
- DB11-T 513-2025 绿色施工管理规程
- 住院医师规范化培训教学病例讨论指南
- 2021-2025年高考数学真题分类汇编专题16圆锥曲线(选填题)16种常见考法归类-1
- 《化工企业可燃液体常压储罐区安全管理规范》解读课件
评论
0/150
提交评论