工作原理

准实时抽取架构图:

以上共有核心业务系统数据库服务器、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. JAVA框架:hibernate

    一:介绍 hibernate是java中的dao层,即和持久层打交道.底层也是数据库驱动.连接等.他也有orm,类和数据库的映射. 二.部署 下载地址:https://sourceforge.net/ ...

  2. 《MySQL:菜鸟入门系列》

    关于数据库相关知识,几乎是互联网从业者逃不开的一个必备技能,特别是对于DB.开发和测试童鞋来说,更显得重要... 关于MySQL,推荐如下几本书: 入门级:<MySQL必知必会> 进阶级: ...

  3. log下一次坑爹的疏忽

    今天调试一段十几行的代码,也让我是一顿咒骂...就说说是怎么回事哈哈. 是这样的,这个页面foreach了一个个的div块,每个div里有个a标签,这个按钮绑定了个点击事件.事件走了个ajax,根据返 ...

  4. 2017-2018-1 20155202 张旭 嵌入式C语言——时钟提取时分秒

    2017-2018-1 20155202 张旭 嵌入式C语言--时钟提取时分秒 任务要求: 在作业本上完成附图作业,要认真看题目要求. 提交作业截图 作弊本学期成绩清零(有雷同的,不管是给别人传答案, ...

  5. SimpleDateFormat-时间格式化中的大小写字符

    一.SimpleDateFormat: 这个类是用来格式化date类型数据为指定格式的时间的 使用的而时候,总是区分不清 yyyy-mm-dd yyyy-MM-dd 而使用不同的大小写字符格式化出来的 ...

  6. POJ 3278&&2049&&3083

    这次的题目叫图的深度&&广度优先遍历. 然后等我做完了题发现这是DFS&&BFS爆搜专题. 3278:题目是经典的FJ,他要抓奶牛.他和牛(只有一头)在一条数轴上,他们 ...

  7. [agc011C]Squared Graph-[二分图]

    Description 传送门 Solution 我们以下考虑的情况都是原图中非孤立的点. 题目要求新图的连通块个数.这个不好算,我们考虑计算新图的联通块内的特征点(x,y),即无法通过移动找到(t, ...

  8. Scala学习(三)----数组相关操作

    数组相关操作 摘要: 本篇主要学习如何在Scala中操作数组.Java和C++程序员通常会选用数组或近似的结构(比如数组列表或向量)来收集一组元素.在Scala中,我们的选择更多,不过现在我们先假定不 ...

  9. ZAB协议和Paxos算法

    前言在上一篇文章Paxos算法浅析中主要介绍了Paxos一致性算法应用的场景,以及对协议本身的介绍:Google Chubby是一个分布式锁服务,其底层一致性实现就是以Paxos算法为基础的:但这篇文 ...

  10. R绘图 第八篇:绘制饼图(ggplot2)

    geom_bar()函数不仅可以绘制条形图,还能绘制饼图,跟绘制条形图的区别是坐标系不同,绘制饼图使用的坐标系polar,并且设置theta="y": coord_polar(th ...