zoukankan      html  css  js  c++  java
  • 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索引,并自动生成数据接口。

    需要考虑的几个问题

    做数据集成前需要对业务表进行分析

    1、哪些表是基础表(需对原数据做物理变更操作),哪些表是记录表

    2、集成后哪些数据需要实时查询,哪些数据可以离线查询(生成调度任务,延时给出结果。)

    数据应用

    推荐阅读:

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

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

    怎么将ETL技术落地

  • 相关阅读:
    3D数学 矩阵的更多知识(5)
    D3D中的光照(1)
    双节棍(C语言版)
    D3D中的Alpha融合技术(1)
    D3D编程必备的数学知识(5)
    Direct3D中的绘制(1)
    初始化Direct3D(2)
    D3D中的纹理映射(2)
    Direct3D中的绘制(1)
    D3D编程必备的数学知识(2)
  • 原文地址:https://www.cnblogs.com/Javame/p/12168001.html
Copyright © 2011-2022 走看看