欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

CDC+ETL实现数据集成方案

程序员文章站 2022-06-10 13:33:31
数据集成有两种方案: 一种是通过ESB接口方式进行数据集成,优点是数据的时效性高,但最大的弊端是依赖于业务系统的接口改造,往往会涉及和厂商的接口费用。另一种方式就是通过ETL方式抽取数据,并通过CDC方式实现数据实时同步,优点是不依赖于业务系统,只需要获取业务系统数据库权限便可实现集成。 ......

欢迎咨询,合作! weix:wonter

名词解释:

       cdc又称变更数据捕获(change data capture),开启cdc的源表在插入insert、更新update和删除delete活动时会插入数据到日志表中。cdc通过捕获进程将变更数据捕获到变更表中,通过cdc提供的查询函数,我们可以捕获这部分数据。

       etl数据仓库技术(extract-transform-load),它是将数据从源系统加载到数据仓库的过程。用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。使用到的工具包含(kettle、flume、sqoop)。

       kettle基于java的etl工具,支持图形化的gui设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现。

       flume是cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

       sqoop是apache开源软件,主要用于在hadoop(hive)与传统的数据库(mysql、postgresql…)间进行数据的传递。
适用于能与大数据集群直接通信的关系数据库间的大批量数据传输。

数据集成方案对比

       数据集成有两种方案:

       一种是通过esb接口方式进行数据集成,优点是数据的时效性高,但最大的弊端是依赖于业务系统的接口改造,往往会涉及和厂商的接口费用。另一种方式就是通过etl方式抽取数据,并通过cdc方式实现数据实时同步,优点是不依赖于业务系统,只需要获取业务系统数据库权限便可实现集成。

cdc+etl数据集成方案

CDC+ETL实现数据集成方案

 

第一步:通过kettle抽取历史数据到数仓中间库。

        支持图形化的gui设计界面,方便第一轮实施人员无业务化操作流程,稳定、高效。

CDC+ETL实现数据集成方案

 

第二步:业务系统镜像数据库启动cdc功能,并实时同步数据到数仓中间库。

        该技术通过读取镜像数据库日志文件,解析回放数据库操作方式,实现业务数据变更捕获。日志读取、解析、回放等操作都是在镜像数据库上进行,业务数据库只会产生少量的i/o开销,以最大限度地降低对业务系统的影响。

CDC+ETL实现数据集成方案

 

第三步:通过sqoop从中间库抽取历史数据到haoop。

       使用颐东数仓配置数据目录映射关系,自动生成跨数据库抽取的sql语句。

CDC+ETL实现数据集成方案

 

 

 

第四步:基础表通过cdc功能实时同步数据到hadoop。

       基础表为人员信息表、数据字典表等会经常维护变更的表。

第五步:记录表通过flume增量实时抽取数据到hadoop。

       记录表为数据携带时间戳的表,该表内容变更多以修改操作状态形式增量添加。

第六步:数据中台

       数据湖提供数据中台服务,根据业务活动,自定义勾选数据集市所需字段,生成elasticsearch索引,并自动生成数据接口。

数据应用

CDC+ETL实现数据集成方案

 

 

 

推荐阅读:

医院信息集成平台(esb)实施、建设方案

医院信息集成平台(esb)数据集成建设方案

怎么将etl技术落地