数据采集与预处理-第6章-数据仓库中的数据集成.ppt
《数据采集与预处理-第6章-数据仓库中的数据集成.ppt》由会员分享,可在线阅读,更多相关《数据采集与预处理-第6章-数据仓库中的数据集成.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据采集与预处理 厦门大学计算机科学与技术系 林子雨 厦门大学计算机科学与技术系 2022版林子雨林子雨 副教授副教授厦门大学计算机科学系厦门大学计算机科学系E-mail: 主页:主页:http:/ 数据仓库中的数据集成数据仓库中的数据集成(PPT版本号:版本号:2022年年1月月版本)版本) 数据采集与预处理数据采集与预处理教材官网: http:/ 厦门大学计算机科学与技术系 林子雨 提纲6.1 数据仓库概念6.2 数据集成6.3 ETL6.4 CDC本PPT是以下教材的配套讲义林子雨编著数据采集与预处理人民邮电出版社教材官网:http:/ 厦门大学计算机科学与技术系 林子雨 6.1 数据仓
2、库概念6.1.1 传统的数据仓库6.1.2实时主动数据仓库本PPT是以下教材的配套讲义林子雨编著数据采集与预处理人民邮电出版社教材官网:http:/ 厦门大学计算机科学与技术系 林子雨 6.1.1 传统的数据仓库数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策:(1)面向主题。(2)集成。(3)相对稳定。(4)反映历史变化。综上所述,数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。数据库是为捕获数据而设计,数据仓库是为分析数据而设计。数据采集与预处理 厦门大学计算机
3、科学与技术系 林子雨 6.1.1 传统的数据仓库如图6-1所示,一个典型的数据仓库系统通常包含数据源、数据存储和管理、OLAP服务器、前端工具和应用等四个部分。图6-1 数据仓库体系架构图数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.1.2实时主动数据仓库实时主动数据仓库是一个集成的信息存储仓库,既具备批量和周期性的数据加载能力(采用ETL技术),也具备数据变化的实时探测、传播和加载能力(采用CDC技术),并能结合历史数据和新颖数据实现查询分析和自动规则触发,从而提供对战略决策和战术决策的双重支持。图6-2 实时主动数据仓库的体系结构数据采集与预处理 厦门大学计算机科学与技术系 林
4、子雨 6.2数据集成6.2.1数据集成方式6.2.2数据分发方式6.2.3数据集成技术数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.2.1数据集成方式实时主动数据仓库中,数据集成方式包括:(1)数据整合()数据整合(Data Consolidation)(2)数据联邦()数据联邦(Data Federation)(3)数据传播()数据传播(Data Propagation)(4)混合方式(混合方式(Hybrid Approach)数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.2.2数据分发方式数据分发是数据集成过程的一个重要组成部分。目前,大致存在如下几种数据分发方式:
5、推(push)和拉(pull);周期和非周期;一对一和一对多。表表6-1 不同数据分发方式的组合推推拉拉周期周期非周期非周期一对一一对一一对多一对多数据分发选择数据分发选择拉拉非周期一对一请求/响应一对多请求/探测式响应周期一对一轮询一对多探测式轮询推推非周期一对一-一对多发布/订阅周期一对一发送电子邮件一对多电子邮件列表数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.2.3数据集成技术有多种技术可以为实时主动数据仓库提供数据集成服务,比如脚本、ETL、EAI和CDC。但是,只有部分技术能提供实时(连续)的数据集成,具体如下:(1)脚本。脚本是数据集成的一种快速解决方案,其优点是,使
6、用灵活且比较经济,很容易着手开发和进行修改,几乎任何操作系统和绝大部分DBMS都可以使用脚本。但是,使用脚本也有很多问题,比如,耗费开发者的时间和精力,不好管理和操作,以及不能满足服务水平协议(SLA:Service-Level Agreements)等等。(2)ETL。ETL是实现大规模数据初步加载的理想解决方案,它提供了高级的转换能力。ETL任务通常都是在“维护时间窗口”进行,在ETL任务执行期间,数据源默认不会发生变化,这就使得用户不必担忧ETL任务开销对数据源的影响,但同时也意味着,对于商务用户而言,数据和应用并非任何时候都是可用的。数据采集与预处理 厦门大学计算机科学与技术系 林子雨
7、 6.2.3数据集成技术(3)EAI。原先为应用集成而设计的EAI解决方案渐渐地演化成为实时数据获取和集成的解决方案。EAI解决方案通常和ETL解决方案并存,从而增强ETL的功能。EAI解决方案在源系统和目标系统之间进行连续的数据分发,并且保证数据的成功分发,同时提供高级的工作流支持和基本的数据转换。但是,EAI受到数据量的限制,因为EAI的初衷是为了实现应用的集成而不是数据的集成,即它是用来调用应用或者分发命令和消息的。然而,由于EAI具有在数据集成过程中实时分发数据和维护数据一致性的特性,所以也就能够提供实时数据获取的能力,而这种能力正是实时主动数据仓库所需要的。(4)CDC。CDC(Ch
8、ange Data Capture)提供了连续变化数据的捕捉和分发能力,并且只需要很低的开销和时间延迟。CDC在提交的数据事务上进行操作,从OLTP系统中捕获变化的数据,再进行基本的转换,最后把数据发送到数据仓库中。虽然在体系结构上,CDC属于异步的,但它表现出类似同步的行为,数据延迟只有不到1秒的时间,同时能够维护数据事务的一致性。数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.2.3数据集成技术表6-2显示了不同数据集成技术的比较。选择技术的标准应该着重参考以下几个方面的因素:数据质量、频率、可接受的延迟、数据集成、转换需求和处理开销。表表6-2 不同数据集成技术的比较属性属性脚
9、本脚本ETLETLEAIEAICDCCDC数据量数据量中等很高低高频率频率间歇性间歇性连续性连续性延迟延迟中到高中到高低低数据集成数据集成无无保证保证转换转换中度高级基本基本处理开销处理开销高高中等低数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.3 ETL6.3.1 ETL简介6.3.2 ETL基本模块6.3.3 ETL模式6.3.4 ETL工具数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.3.1 ETL简介ETL是将业务系统的数据经过抽取(Extract)、清洗转换(Transform)之后加载(Load)到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据
10、整合到一起,为企业的决策提供分析依据。ETL是实现大规模数据初步加载的理想解决方案,它提供了高级的转换能力。ETL任务通常都是在“维护时间窗口”进行,在ETL任务执行期间,数据源默认不会发生变化,这就使得用户不必担忧ETL任务开销对数据源的影响,但同时也意味着,对于商务用户而言,数据和应用并非任何时候都是可用的。数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.3.1 ETL简介早期的ETL解决方案通常以固定的周期运行批处理工作,从平面文件和关系数据库中捕捉数据,并把这些数据整合到数据仓库中。最近这几年,商业ETL工具供应商已经对产品做了很大的改进,对产品功能进行了扩展,具体如下:(1
11、)额外的数据源(2)额外的目标(3)改进的数据转换功能(4)更好的管理(5)更好的性能(6)改进的可用性(7)增强的安全性(8)支持基于数据联邦的数据集成方法数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.3.2 ETL基本模块ETL处理分为三大模块,分别是数据抽取、数据清洗与转换、数据加载。各模块可灵活进行组合,形成ETL处理流程(如图6-3所示)。图6-3 ETL过程数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.3.3 ETL模式ETL主要有四种实现模式:触发器模式增量字段全量同步日志比对数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.3.3 ETL模式1.
12、 触发器模式触发器模式触发器模式是普遍采取的一种增量抽取机制。该方式是根据抽取要求,在要被抽取的源表上建立插入、修改、删除3个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个增量日志表,ETL的增量抽取则是从增量日志表中而不是直接在源表中抽取数据,同时,增量日志表中抽取过的数据要及时被标记或删除。为了简单起见,增量日志表一般不存储增量数据的所有字段信息,而只是存储源表名称、更新的关键字值和更新操作类型(insert、update或delete),ETL增量抽取进程首先根据源表名称和更新的关键字值,从源表中提取对应的完整记录,再根据更新操作类型,对目标表进行相应的处理。这种
13、模式的优点是数据抽取的性能高,ETL加载规则简单,速度快,不需要修改业务系统表结构,可以实现数据的递增加载。缺点是要求业务表建立触发器,对业务系统有一定的影响,容易对源数据库构成威胁。数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.3.3 ETL模式2.增量字段增量字段 采用增量字段方式捕获变化数据的原理是,在源系统业务表数据表中增加增量字段,增量字段可以是时间字段,同时也可以是自增长字段,当源业务系统中数据新增或者被修改时,增量字段就会产生变化,时间戳字段就会被修改为相应的系统时间,自增长字段就会增加。每当ETL工具进行增量数据获取时,只需比对最近一次数据抽取的增量字段值,就能判断
14、出来哪些是新增数据,哪些是修改数据。这种数据抽取方式的优点就是抽取性能比较高,判断过程比较简单,ETL系统设计清晰,源数据抽取相对清楚简单,可以实现数据的递增加载。最大的局限性就是由于某些数据库在进行设计的时候,未考虑到增量字段,需要对业务系统进行改造,基于数据库其他方面的原因,还有可能出现漏数据的情况。数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.3.3 ETL模式3. 全量同步全量同步全量同步又叫“全表删除插入方式”,是指每次抽取前先删除目标表数据,抽取时全新加载数据。该方式实际上将增量抽取等同于全量抽取。对于数据量不大,全量抽取的时间代价小于执行增量抽取的算法和条件代价时,可
15、以采用该方式。这种方式的优点是对已有系统表结构不产生影响,不需要修改业务操作程序,所有抽取规则由ETL完成,管理维护统一,可以实现数据的递增加载,没有风险。缺点是ETL比对较复杂,设计较为复杂,速度较慢。与触发器和时间戳方式中的主动通知不同,全表比对方式是被动的进行全表数据的比对,性能较差。当表中没有主键或唯一列且含有重复记录时,全表比对方式的准确性较差。数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.3.3 ETL模式4. 日志比对日志比对日志比对的方式是通过获取数据库层面的日志来捕获到变化的数据,不需要改变源业务系统数据库相关表结构,数据同步的效率比较高,同步的及时性也比较快,最
16、大的问题就是不同数据库的日志文件结构存在较大的差异性,实施分析起来难度比较大,同时,需要具备访问源业务库日志表文件的权限,存在一定的风险性,所以这种方式有很大的局限性。日志比对方式中比较成熟的技术是CDC(Change Data Capture)技术,作用同样是能够捕获到上一次抽取之后产生的相关变化数据,当CDC对源业务表进行新增、更新和删除等相关操作的时就可以捕获到相关变化的数据,相对于增量字段方式,CDC方式能够较好地捕获到删除数据,并写入相关数据库日志表,然后再通过视图或者别的某种可操作的方式将捕获到的变化同步到数据仓库当中去。这种方式的优点是ETL同步效率较高,不需要修改业务系统表结构
17、,可以实现数据的递增加载。缺点是业务系统数据库版本与产品不统一,难以统一实现,实现过程相对复杂,并且需深入研究方能实现。这种方式也通过第三方工具实现,但是,一般都是商业软件,费用较高。数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.3.3 ETL模式5.四种模式的比较四种模式的比较ETL模式兼容性完备性 抽取性能源库压力源库改动量实现难度触发器模式关系型数据库高优高高容易增量字段关系型数据库具有”字段”结构的其它数据格式低较优低高容易全表同步任何数据格式高极差中无容易日志比对关系型数据库高较优中中难数据采集与预处理 厦门大学计算机科学与技术系 林子雨 6.3.4 ETL工具ETL是企
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 采集 预处理 数据仓库 中的 集成
限制150内