FTPC Live Transfer概述

34 篇文章 20 订阅

        Live Transfer允许从多个生产或历史(ODS)数据库加载数据存储到单个目标数据库(其他ODS或报告数据库)。延迟的潜在因素取决于源数据库的数量以及所涉及的服务器和网络的处理能力。

        可以将数据从SQL Server数据库传输到Oracle数据库,生产到ODS和基础ODS到集线器ODS配置。 你不能将数据从Oracle数据库传输到SQL Server数据库。 因此,曾经您将数据从SQL Server数据库传输到Oracle数据库,所有数据库此后必须是Oracle数据库。

一、版本兼容性

        在配置实时传输之前,请注意以下版本控制限制:

  • 源数据库的Live Transfer架构版本必须与Site Extract Manager's(SEM)的预期Live Transfer架构版本相同。
  • 目标数据库的Live Transfer架构版本必须与Table Loader Manager's(TEM)的预期Live Transfer架构版本相同。

        例如,如果源数据库的Live Transfer架构版本为2,则Site Extract Manager的预期Live Transfer架构版本也必须为2。
       另一个示例,包括目标数据库的Live Transfer架构版本是3,Table Loader Manager's(TEM)的预期实时传输模式版本也必须是3。

        架构版本记录在数据库的SCHEMA_VERSION表中在以下行中:

  • SCHEMA_VERSION:Plant Operations主要架构版本
  • SCHEMA_MINOR_VERSION:Plant Operations次要架构版本
  • LIVE_TRANSFER_VERSION:Live Transfer架构版本

二、Live Transfer设置

        下图显示了如何设置实时传输:

  • 单个Extractor Service实例只能从一个源数据库中提取。 在示例图中,Extract Service Instance 1仅提取来自生产站点A,而Extract Service Instance 2仅从生产站点B中提取。这些Extract Service Instance都不能再提取来自其他数据库的数据。
  • JMS代理可以是Apache ActiveMQ的单个实例(以下称为ActiveMQ)代理,或在一个高可用网络的负载均衡环境。有关ActiveMQ的更多信息,请访问http://activemq.apache.org/。
  • 任何给定的Load Service Instance只能加载到单个目标中数据库,但多个Load Service实例可以加载到同一个目标数据库中。 在示例图中,Load Services Instances 1和2都加载到同一个目标数据库。 它们不能再加载到任何其他数据库中。

  • 一个基础ODS从生产数据库接收数据,也能传输它的数据到集线ODS或者报表数据库。

三、Live Tansfer组件

        Live Transfer由以下组件组成

        Live Transfer Extractor(LTE),包括:

                Site Extract Manager(SEM)

                Table Extract Manager(TEM)

        Table Loader Manager(TLM)

        Live Transfer使用JBossCache作为全局内存空间,用于跟踪发送到加载器的消息,以及指示加载器成功加载了哪些内容的消息。TEM使用这些信息来避免向加载器发送重复的数据,并且SEM使用此信息来确定是否需要重新提取表以及控制何时发送下一个表提取请求。

        JBossCache存储Receipt对象,SEM使用它来监视提取的进展。 SEM监控receipts并确定是否所有提取物请求已完成或其中任何一个需要重新发送。

1、Site Extract Manager(SEM)

        Site Extract Manager(SEM)是Live Transfer Extractor的一部分用于确定源数据库和连接信息的组件。通过派发消息来控制从源数据库中提取数据到提取队列列出哪些表具有准备好的数据转移。 SEM还记录了提取过程的进度和日志,传输完成后,在源数据库会存储一条提取日志记录。

        为了支持这一基本功能,SEM使用ActiveMQ和JBossCache传递并与Live Transfer中的其他组件共享数据。 SEM是保持所有Live Transfer之间通信的主线程组件打开,以及识别新组件何时加入网络或重新启动提取或加载器实例时。

2、Table Extract Manager(TEM)

        Table Extract Manager(TEM)是Live Transfer提取器的一部分组件,它负责从源数据库中提取数据。 它是由以下部分组成:

        Manager:该组件执行以下任务

  • 在启动时与SEM建立连接,检查兼容性问题。
  • 启动表提取器(Table Extractor) 实例。
  • 处理来自Load服务的加载消息receipts。
  • 在数据加载成功后更新JbossCache。

        Table Extractor Instances:该组件执行以下任务

  • 查询指示数据已准备好提取的消息。
  • 从源数据库中提取数据。
  • 在数据提取并发送到加载程序后更新全局缓存队列中。
  • 将提取的数据发送到加载器队列,加载器正在队列中等待接收消息。

3、Table Loader Manager(TLM)

        Table Loader Manager(TLM)是负责将数据加载到目标数据库中的组件。它是由以下部件组成:

        Manager:该组件执行以下任务:

  • 在启动时与SEM建立连接,检查兼容性问题。
  • 启动表加载器(Table Loader)实例。
  • 在加载数据后更新日志时,将消息receipts发送到SEM。

        Table Loader Instances:该组件执行以下任务:

  • 将提取的数据加载到目标数据库中。
  • 加载数据后,向TEM管理器发送加载确认。

四、Live Transfer工作原理

        下图显示了在Live Transfer中如何使用上面这些组件。这两台Java虚拟机(JVM)可以运行在一台物理机器上,也可以运行在两台不同的机器上。

步骤1:

        启动SEM,TEM,和TLM。SEM连接TLM和TEM并确保没有兼容性问题。如果没有问题,然后,TEM管理器启动表提取器(Table Extractor)实例,TLM启动表加载器(Table Loader)实例。

步骤2:

//To Do

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

为何生存

知识共享,共同进步!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值