工作原理

准实时抽取架构图:

以上共有核心业务系统数据库服务器、ETL服务器、BI数据库服务器〔目标数据库服务器〕,三台服务器和ETL客户端(PowerCenter客户端)。其中核心业务系统上有核心系统产生的Redo Log、安装Oracle Logminer、安装PowerExchange,ETL服务器上安装PowerCenter及PowerExhchange的客户端、BI数据库服务器为目标数据库、ETL客户端安装(PowerCenter客户端)。

核心业务系统数据库服务器在进行业务过程中,会一直写Redo Log;Logminer为Oracle日志分析工具,能够对Redo Log及Achive Log进行解析;PowerExhchange为Oracle Logminer和ETL工具PowerCenter的接口,实现对Logminer的封装,通过他来定义要获取哪些表的增量及增量数据放到哪张对应的增量表中〔增量表结构是自己定义〕。

ETL客户端主要用来定义数据的抽取、转换、加载规则,比如:定义要抽取哪些表的增量、抽取的频率、要将增量数据插入到那个数据库〔可以是任何数据库服务器上的表〕。在获取增量后如何处理这些增量(转换)等。

ETL服务器执行客户端定义好的ETL规则。在执行过程中,通过PowerExchange接口实时抽取核心业务系统产生的增量,并根据规则转换处理或不进行转换插入到BI数据库服务器上相应的目标表中。

具体执行流程是,PowerExchange和Logminer以类似服务的形式,在核心业务系统上执行,当ETL服务器启动抽取时,通过PowerExhchange接口调用在核心业务系统上的PowerExchange,PowerExhchange再调用Logminer,Logminer对核心业务系统产生的Redo Log进行解析。解析完成后将数据返回给PowerExhchange,PowerExhchange将数据返回给ETL服务器,ETL服务器根据ETL客户端指定的规则(经过加工处理或不经过加工处理)处理后将增量数据加工到BI数据库服务器相关的表中。

详细介绍

在Oracle服务器端的详细操作如下:

1、 执行以下脚本

说明:如果数据库已经是归档模式则不需要创建和指定归档日志存放路径。

必须创建针对PowerExchange使用的Oracle用户并赋予指定权限,主要是为了对Logminer解析出数据后,存放数据的视图进行操作。

设置Oracle Supplemental Logging,默认情况下。Oracle记录日志,是没有数据表中的字段数据内容,设置Supplemental Logging完成或。Redo log会记录发生变化的每条记录的前像内容和后像内容。只有这样,才能获取到变化记录内容。

创建Logminer 表空间,Logminer在进行数据解析后。会将解析的结果数据保存到,几个视图中。也就是说需要将数据暂存到数据表空间中。

编译Logminer系统包。

将Oracle Catalog复制到redo logs

Logminer根据对数据字典的使用分为三种模式〔数据字典是将redo log中的对象代码转换成具体表名等对象名的映射文件〕,user online Catalog、Extracting a LogMiner Dictionary to the Redo Log FilesExtracting the LogMiner Dictionary to a Flat File

PowerExchange在调用Logminer时,使用Extracting the LogMiner Dictionary to a Flat File这种模式。这种模式不需生成数据字典文件,即将数据字典内容写入到redo log中,因此没有额外的对数据库的操作。

2、 在Oracle服务器端安装PowerExchange

PowerExchange主要是实现对Oracle Logminer进行封装的工具,Logminer实现了对数据库日志的解析,但是要达到实时获取增量数据的目的需要涉及以下方面的问题

(1) 如何实时进行解析

Oracle Logminer进行日志解析,需要调用Logminer的命令。每次命令可以解析整个redo log内容,也可以按照时间进行解析。但是,需要手工执行命令。PowerExchange利用自身的触发机制,对logminer进行自动的调用,实现准实时增量数据的获取

(2) 解析出的内容的处理

Logminer在解析出变化数据后,会存放到相关视图中。视图存放所有变化数据表的数据,在应用时,必须对视图进行查询,然后将数据转移到相关的数据表中。操作麻烦,需要变成处理。Logminer提供图形化操作页面,通过Navigator进行对解析数据的定义及处理。

(3) 稳定性及效率问题及和ETL工具的结合

直接调用Logminer会涉及到频率、稳定、效率等诸多考虑因素,PowerExchange做为产品这些问题都有具体的处理。同时PowerExchange做为Informatica的一个组建,非常方便的整合到ETL调度体系中。

PowerExchange在oracle服务器端,做为一个服务贮存,监控数据的产生。通过ETL工具将实时抽取配置成一个Informatica Powercenter的WorkFlow。PowerExchange获取到数据后,自动运行此WorkFlow将获取到的数据抽取到定义好的目标表中。

PowerExchange实时抽取架构介绍的更多相关文章

  1. 1.8-1.10 大数据仓库的数据收集架构及监控日志目录日志数据,实时抽取之hdfs系统上

    一.数据仓库架构 二.flume收集数据存储到hdfs 文档:http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html#hd ...

  2. 利用Flume将MySQL表数据准实时抽取到HDFS

    转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取 ...

  3. 大型网站技术架构介绍--squid

    一.大型网站技术架构介绍 1.pv高  ip高 并发量 2.大型网站架构重点    1. 高性能:响应时间,TPS,系统性能计数器.缓存,消息队列等.     高可用性High Availabilit ...

  4. 基于Storm 分布式BP神经网络,将神经网络做成实时分布式架构

    将神经网络做成实时分布式架构: Storm 分布式BP神经网络:    http://bbs.csdn.net/topics/390717623 流式大数据处理的三种框架:Storm,Spark和Sa ...

  5. Kafka设计解析(一)Kafka背景及架构介绍

    转载自 技术世界,原文链接 Kafka设计解析(一)- Kafka背景及架构介绍 本文介绍了Kafka的创建背景,设计目标,使用消息系统的优势以及目前流行的消息系统对比.并介绍了Kafka的架构,Pr ...

  6. Kafka剖析:Kafka背景及架构介绍

    <Kafka剖析:Kafka背景及架构介绍> <Kafka设计解析:Kafka High Availability(上)> <Kafka设计解析:Kafka High A ...

  7. MySQL高级第一章——架构介绍

    一.简介 是一个经典的RDBMS,目前归属于Oracle 高级MySQL包含的内容: MySQL内核 SQL优化工程师 MySQL服务器的优化 各种参数常量设定 查询语句优化 主从复制 软硬件升级 容 ...

  8. 环信ONE SDK架构介绍

    环信ONE SDK架构介绍 摘要 环信即时通讯SDK自2014年6月正式公布2.0版本号至今已走过一个年头.从主要的单聊功能,到群聊功能,再到聊天室的实现.SDK无论是功能.稳定性,还是易集成性都在一 ...

  9. Flume系列一之架构介绍和安装

    Flume架构介绍和安装 写在前面 在学习一门新的技术之前,我们得知道了解这个东西有什么用?我们可以使用它来做些什么呢?简单来说,flume是大数据日志分析中不能缺少的一个组件,既可以使用在流处理中, ...

随机推荐

  1. OO第9~11次作业总结

    规格化设计调研 大致发展历史 --> 自给自足的私人化的软件生产方式. --> 落后的软件生产方式无法满足迅速增长的计算机软件需求,软件的开发与维护出现一系列严重问题. --> 正式 ...

  2. 四,ESP8266 TCP服务器(基于Lua脚本语言)

    我要赶时间赶紧写完所有的内容....朋友的东西答应的还没做完呢!!!!!!!没想到又来了新的事情,,....... 配置模块作为TCP服务器然后呢咱们连接服务器发指令控制LED亮灭 控制的指令呢咱就配 ...

  3. FFmpeg编程学习笔记二:音频重採样

    ffmpeg实现音频重採样的核心函数swr_convert功能很强大,但是ffmpeg文档对它的凝视太过简单.在应用中往往会出这样那样的问题,事实上在读取数据->重採样->编码数据的循环中 ...

  4. excel的宏与VBA实践——建表语句

    一.建表语句 不带分区版本:V1.0: Sub createTableDDL() '自动创建建表语句 '定义换行和TAB Ln = ) + ) TB = ) '定义脚本目录 Dim dir AS St ...

  5. 20155227《网络对抗》Exp3 免杀原理与实践

    20155227<网络对抗>Exp3 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等 ...

  6. Exp8 web基础

    20155332<网络对抗>Exp5 MSF基础应用 1.实验环境搭建 1.apache的安装与配置 安装:sudo apt-get install apache2 开启:service ...

  7. # 20155337《网络对抗》Exp9 Web安全基础

    20155337<网络对抗>Exp9 Web安全基础 实践目标 一.基础问题回答 1.实验后回答问题 SQL注入攻击原理,如何防御 SQL注入攻击的本质是利用SQL语法,针对应用程序开发过 ...

  8. Centos 定时任务发送smtp邮件

    接着上一篇文章...... 1.首先创建一个sheel的脚本命令,我是在home文件夹下面创建的命令: touch a.sh 2.编辑a.sh脚本 vim a.sh ,键入键盘   i  键 准备插入 ...

  9. POJ1807&&1276

    DP专题下的背包专题 其实就是PJ的那些东西了 主流的背包有三种:01背包,完全背包和多重背包 其中01背包和完全背包的转移就比较经典了,而多重背包也是在前两者基础上演变一下即可 1837 题意:有一 ...

  10. Hadoop日记Day14---MapReduce源代码回顾总结

    一.回顾单词统计源码 package counter; import java.net.URI; import org.apache.hadoop.conf.Configuration; import ...