CDC+ETL实现数据集成方案
欢迎咨询,合作! 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数据集成方案
第一步:通过kettle抽取历史数据到数仓中间库。
支持图形化的gui设计界面,方便第一轮实施人员无业务化操作流程,稳定、高效。
第二步:业务系统镜像数据库启动cdc功能,并实时同步数据到数仓中间库。
该技术通过读取镜像数据库日志文件,解析回放数据库操作方式,实现业务数据变更捕获。日志读取、解析、回放等操作都是在镜像数据库上进行,业务数据库只会产生少量的i/o开销,以最大限度地降低对业务系统的影响。
第三步:通过sqoop从中间库抽取历史数据到haoop。
使用颐东数仓配置数据目录映射关系,自动生成跨数据库抽取的sql语句。
第四步:基础表通过cdc功能实时同步数据到hadoop。
基础表为人员信息表、数据字典表等会经常维护变更的表。
第五步:记录表通过flume增量实时抽取数据到hadoop。
记录表为数据携带时间戳的表,该表内容变更多以修改操作状态形式增量添加。
第六步:数据中台
数据湖提供数据中台服务,根据业务活动,自定义勾选数据集市所需字段,生成elasticsearch索引,并自动生成数据接口。
数据应用
推荐阅读:
推荐阅读
-
浅谈SpringCache与redis集成实现缓存解决方案
-
详解SpringBoot集成Redis来实现缓存技术方案
-
java权限框架(java数据权限实现方案)
-
java权限框架(java数据权限实现方案)
-
通过创建SQLServer 2005到 Oracle10g 的链接服务器实现异构数据库数据转换方案
-
JAVAEE——宜立方商城06:Redis安装、数据类型和持久化方案、Redis集群分析与搭建、实现缓存和同步
-
两种方法实现asp.net方案的前后端数据交互(aspx文件、html+ashx+ajax)
-
高德地图大批量数据(上万)画历史轨迹实现方案
-
SpringBoot2.0 基础案例(08):集成Redis数据库,实现缓存管理
-
Openstack 使用migrate进行数据库升级实现方案详细介绍