数据平台产品部uap63应用关键技术说明_第1页
数据平台产品部uap63应用关键技术说明_第2页
数据平台产品部uap63应用关键技术说明_第3页
数据平台产品部uap63应用关键技术说明_第4页
数据平台产品部uap63应用关键技术说明_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大中型企业与公共组织云平台目录1.前言42.AE-RDI 体系结构53.AE-RDI 新特性63.1.灵活多变的部署模型63.2.生产引擎分发机制73.3.全新的用户界面84.源端和目标端初始化配置104.1.源端数据库配置104.2.源端 Oracle 用户配置114.3.目标端 Oracle 用户配置154.4.目标端 GBase 用户配置175.RDI 启动与关闭206.启动和登录 RDI Console217.数据源管理227.1.新建数据源227.2.修改数据源227.3.删除数据源238.用向导开始第一个应用249.表关系配置2910.邮件通知配置3111.生产引擎详解3211.1

2、.生产引擎3211.2.运行期3211.3.属性3311.4.过滤器3612.消费引擎详解3912.1.运行期属性3912.2.属性402大中型企业与公共组织云平台12.3.事务器4213.调度详解4613.1.命令简介4613.2.上下文属性4713.3.设计器生成48用14.系统配置详解4914.1.客户端配置4914.2.服务端配置4915.RDI 目录和系统配置文件503大中型企业与公共组织云平台1. 前言RDI 实时数据集成,主要完成源端数据库到目标端数据库的实时数据同步。RDI 基于日志分析和消息中间件技术,实现高性能的增量式实时数据集成。整体实现机制是通过分析源端数据库的日志得到

3、事务信息,并以消息的形式发到消息中间件。目标端从消息中间件取得事务信息并应用到目标数据库,从而完成数据的实时同步。RDI 分初始化配置和 RDI Console。初始化配置主要完成对源端和目标端用户和必要资源进行配置。RDI console 可以完成数据源,表,生产引擎,消费引擎等的配置。4大中型企业与公共组织云平台2. AE-RDI 体系结构RDI 基于日志分析和消息中间件技术,内部具有高缓存,高并发的架构,实现了高性能的增量式实时数据集成和灵活的部署模型。其工作原理简单描述如下图:nRDI Source Service 从源端数据库分析日志得到事务并至消息中间件;nRDI Target S

4、ervice 从消息中间件取得事务并应用到目的端数据库;nRDI Admin Console用来管理 RDI Server 实例中的任务和。5大中型企业与公共组织云平台3. AE-RDI 新特性革新版的 RDI 在原有架构基础上进行了的重构,主要有以下三个新特性。3.1. 灵活多变的部署模型将 RDI Server 统一,在同一个 RDI Server 实例中既可以部署 source service 也可以部署target service,应用部署模型更加灵活,典型的部署模型有:(一) 单实例紧凑部署模型 1单实例紧凑部署模型一个 RDI Server 实例中既部署了 source servi

5、ce 也部署了 target service,同时消息中间件也运行于这个实例中。这种部署模型一般可用于用户比较紧张的情况或者开发演示等非生产环境。(二) 单实例紧凑部署模型 26大中型企业与公共组织云平台一个 RDI Server 实例中既部署了 source service 也部署了 target service,但消息中间件运行于另外一个物理进程中。这是一种我们推荐的典型的部署模型,即可用于生产环境也可用于开发演示等环境。(三) 多实例分布式模型这种部署模型下 source service 和 target service 分别运行于单独的 RDI Server 实例中,消息中间件 Mes

6、sage Queue 也运行于单独的进程中。此部署模型适合于用户的硬件和网络比较充沛的生产环境。3.2. 生产引擎分发机制这个特性主要是基于这样一个事实,Source Service 分析事物的速度远大于 TargetService 应用事务的速度,特别是当目的端数据库是列式数据库的情况下。于是我们把源服务架构调整为生产引擎结构,将分析得到的事务根据模块分发到多个服务队列,每个服务队列对应一个 target service。这样减少对源库的的同时,目的端数据库的并发应用事务的能力也得以发挥,可以很大的提高性能。SourceModule 和 TargetModule 逻辑分离,形成一对多的关系。

7、其模型如下图:7大中型企业与公共组织云平台3.3. 全新的用户界面新的用户界面采用 Chrome 浏览器风格,同时有向导功能,界面更加美观的同时用户操作将更加简便灵活。8大中型企业与公共组织云平台在以下的部分中结合用户界面详细讲解 RDI 的各项功能。9大中型企业与公共组织云平台4. 源端和目标端初始化配置在使用 RDI 系统之前还必须对数据库进行用户配置,这样才能使 RDI 正常发掘和使用数据库日志。对数据库用户的设置包括源端数据库和目标端数据库,为便于配置数据库实现了对源端和目标端数据库的图形化配置。目前源端数据库支持 Oracle,目的端数据库的配置支持:Oracle,Gbase,Pos

8、tgreSQL。目前图形界面的启动都是在命令行模式下启动的,为了方便启动界面,建议配置环境变量,把 rdiconf.bat 放到环境变量中。4.1. 源端数据库配置在 RDI 中 RDI Source Server 主要用于挖掘源端数据库的日志,所以需要对源端数据库按照下面步骤进行配置:1)启动 Oracle sqlplus,用 sysdba 用户登录。2)查看当前系统是否已经打开归档日志。3)如果归档状态为非归档,修改为归档模式。4)验证修改结果。5)打开数据库6)打开附加日志10SQL> alter database add supplemental log data;SQL>

9、 alter database add supplemental log data (primarySQL > alter database open;Database altered.SQL > select log_mode from v$database;LOG_MODEARCHIVELOGSQL> shutdown immediate SQL> startup mountSQL> alter database archivelog;SQL> alter database force logging;SQL> select log_mode fr

10、om v$database; SQL> archive log list>sqlplus sys/sys as sysdba大中型企业与公共组织云平台4.2. 源端 Oracle 用户配置源端的配置步骤如下所述。1.在命令行中写入 rdiconf 进入图形界面:2.选择“Oracle 作为源端”,进入数据库 Oracle 源端配置:Step1 中要求用户输入源端 oracle 数据库的地址、端口,要配置的源端数据库,DBA用户名和。输入完成后,点击【下一步】进入下一步。3.管理员为源端数据库创建环境。11key,uniqueindex) columns;大中型企业与公共组织云平台管

11、理员为 RDI 的源端数据库创建视图和同义词,创建具体命令在界面中给出,点击【下一步】执行创建操作,并进入下一步。4.创建源端 RDI 系统用户。这里输入一个 RDI 系统用户的用户名和以及确认,点击【下一步】创建新 RDI系统用户。5.管理员授予 RDI 系统用户相应权限。12大中型企业与公共组织云平台管理员授予 RDI 系统用户相应的系统权限和对象权限,这样 RDI 系统用户能够日志信息,并把它们放到相应表中。点击【下一步】。6.RDI 系统用户登陆。从管理员转换到 RDI 系统用户,用来创建 RDI 系统用户相应环境。点击【下一步】RDI系统用户登录。7.RDI 系统用户创建用于日志分析

12、的表和过程。13大中型企业与公共组织云平台建立日志分析临时表和日志分析过程。点击【下一步】创建表和过程。8.用户需要手工做的操作和一些建议。用户需要登录数据库进行手动操作,操作的具体步骤已经在界面中给出。同时给出了数据库参数配置的建议。点击【完成】。如果想查看以前的配置,点击【上一步】即可。14大中型企业与公共组织云平台4.3. 目标端 Oracle 用户配置1.在命令行中写入 rdiconf进入图形界面,选择【Oracle 作为目标端】进入目的端数据库 Oracle 配置。管理员登录目的端数据库,参数源端 Oracle 一样。点击【下一步】管理员登录数据库。创建目的端 RDI 系统用户。2.

13、目的端系统用户。15大中型企业与公共组织云平台3.RDI 系统用户登录。RDI 系统用户登录数据库,用来创建目的端 RDI 环境。点击【下一步】RDI 系统用户登录。4.RDI 系统用户创建用于RDI 配置信息的表。16大中型企业与公共组织云平台创建 RDI 用来存放目的端配置信息的表。点击【下一步】创建表。5.目的端数据库参数配置建议。4.4. 目标端 GBase 用户配置1.在命令行中写入 rdiconf 进入图形界面,选择“Gbase 作为目标端”进入目的端数据库 GBase 配置。17大中型企业与公共组织云平台在用户登录界面,输入数据库的地址、端口,和 dba 用户名和,以及要使用作为

14、RDI 目的端的数据库。这里在前面填写好主机 IP,端,用户名和后,可以点击 DBName 下拉列表框,选择想要使用的数据库。想创建新用户作为 RDI 目的端系统用户,那么可以点击【创建用户】来创建。这里需要用户输入 gbase 数据库的 DBA 用户名和,再输入要创建的 RDI 系统用户名,及确认。点击【创建】完成用户创建。 如果用户想要建立一个新的数据库作为 RDI 目的端数据18大中型企业与公共组织云平台库,那么可以点击【创建数据库】来创建数据库。用户输入用户名和以及要创建的数据库名,点击“创建“,即可创建数据库。选择好用户和数据库后,点击【下一步】,登录数据库。2.RDI 系统用户创建

15、用于RDI 配置信息的表,以及函数。创建 RDI 用来存放目的端配置信息的表和相关函数。该创建过程在进入该选项时创建。点击【完成】完成。19大中型企业与公共组织云平台5. RDI 启动与关闭完成源端与目标端的数据库配置之后就可以开始启动 RDI 系统了。首先启动消息中间件,在<RDI_HOME>/mq/apache-activemq-5.5.0/bin 下执行activemq.bat(linux 下activemq):然后在<RDI_HOME>/bin 下,执行 rdi.bat(linux 下 rdi.sh):使用 rdi console 命令打开客户端登录界面如下:如

16、果想关闭 RDI Server 有两种方式:201) 使用 RDI 的关闭命令:>rdi stop 。2) 在 Windows 或 Linux 命令行用 Ctrl + c 键。>rdi console启动客户端界面>rdi start启动服务>activemq.bat大中型企业与公共组织云平台6. 启动和登录 RDI Console用户可以在<RDI_HOME>/bin 下执行 rdi console 打开 RDI 登录界面。上方是保存了上一次的地址,可直接点击登录上一次的地址。在下方的输入框中输入新的服务器端的 IP 地址和端(其输入格式为 : <I

17、P>:<port>),回车。如图所示:登录进去后就是台的主界面,可以在右上角重新输入新的服务地址进行连接。如图所示:21大中型企业与公共组织云平台7. 数据源管理7.1. 新建数据源打开的服务器界面,点击【新增】按钮,并选择“数据源”,即可打开数据源的配置界面,如下图所示:1.在界面中输入数据源的配置信息后,点击“部署” 按钮,将该数据源配置到服务器中。2.对于已经编辑好的数据源,可以点击“测试连接”按钮,以测试该数据源的配置是否正确。3.当部署数据源后,新建的数据源会自动添加到左侧的系统属性列表中。通过点击其中的列表项查看已配置的数据源。7.2. 修改数据源在左侧的系统属性

18、列表中,选中需要修改的数据源并点击打开配置界面,可对该数据源中的内容做出修改。修改后,“连接 URL”文本框会生成相应的连接数据库语句后,再点击【部署】按钮,将该数据源配置到服务器中。22大中型企业与公共组织云平台7.3. 删除数据源如果配置的数据源已经失效,无法与数据库建立连接,或者该数据源不再需要时,选中左侧的系统属性列表中的数据源,点击列表框上面的【删除】将其删除。23大中型企业与公共组织云平台8. 用向导开始第一个应用用户按照第 4 章“源端和目标端初始化配置”中介绍的步骤完成系统安装以后,我们可以用任务向导来开始我们第一个应用。登录服务器后,点击【任务向导】按钮打开任务向导。步骤一:

19、表关系配置此项用于配置源端数据库表和目的端数据库表的对应关系,用户可以用此关系在目的端创建相应的表以及从源表向其中导入数据。目前支持 Oracle 到 Oracle,Oracle 到 GBase的全表加载。用户通过设计器面板选择要镜像的表:24大中型企业与公共组织云平台界面中各参数说明如下。:默认即可;数据源:上一章配置的源端数据源;数据库:表的模式,即选择用户,Oracle 一般模式名就是用户名,GBase 一般模式名是数据库名;:是非配置数据库用户而言的,且仅对目标表是 gbase 的数据源有效,就是说目标端是 gbase 时,非配置的数据库用户需要输入数据库表示匹配模式。;下面的是数据源

20、的所有表,可以通过添加和删除表,表示源端数据库向目的端数据库要同步的表(表结构和表数据)。点击选入,用户可以用 LIKE语法匹配(Start%,%End 也属于 LIKE 匹配),也可以点击从文件中导入。点击可将选入的删除。下方是目标端的配置,同样是及数据源,端口是目标端是 gbase 时才有的,默认是 4730。在右边表的表格中可以修改目的 schema 和表名,如图:25大中型企业与公共组织云平台这里 Source Schema 和 Target Schema 要注意的是不同数据库是不同的,Oracle 一般模式名就是用户名,GBase 模式名要用数据库名。 其中导入表结构用“同步表结构”

21、,导入表数据用“同步表数据”。步骤二:创建生产引擎并设置其属性在这一步中,我们需要填写 Engine 名称,然后要填写 datasource_name 属性为我们在上一章配置的数据源,这个属性是必须的,其他属性用默认值即可,在后面的章节中介绍其他属性的意义。这样生产引擎就连接到这个数据源,:步骤三:为生产引擎设计过滤器26大中型企业与公共组织云平台在这一步中需要设计两类过滤器:第一类是引擎过滤器 Engine Filter。Engine Filter 是第一级过滤器,该过滤器可以使用LIKE,EQUAL 规则进行匹配,但不支持正则表达式匹配。一个引擎只有一个 Engine Filter。第二类

22、是自定义的过滤器。该过滤器可以使用 LIKE,EQUAL 和正则表达式规则进行匹配,用户可以顺序添加多个过滤器。当前默认的过滤器为 Engine Filter,如面板边框显示。点击按钮保存当前过滤器;点击新建一个过滤器,然后选择要匹配的表,选择好以后要点保存新建的过滤器,否则不保存,在右端是看不到新建的过滤器的。我们选择一个表,点击加入右边的表格中(确保在目的端的数据库 scheme 下也已经创建了对应的表,对于表关系配置的源端和目的端数据库,要先同步表结构和表数据)。这里要注意的是 RDI_MD_FILTERS 不能添加到右边的表格中。生产引擎会先用 Engine Filter 定义的规则从

23、源端数据库分析得到事务,然后依次根据用户定义的过滤器进行匹配(如果匹配规则有重复,那么后匹配到的将被忽略),并将匹配到的事务到相应的服务队列。步骤四:生成和配置相应的消费引擎生成的消费引擎与生产引擎的自定义过滤器是一一对应的,如右边的 target module 所示:27大中型企业与公共组织云平台双击生产引擎并为其设置属性及器。如图:设置 datasource_name 属性为目的端数据源。其他属性会在下面的章节中介绍。然后为每个引擎添加一个 TableMirroringInterceptor:最下面一行意味着将源端 Schema 为 rdisa 的表为目的端 Schema 为 testdb

24、 的表,表名不变,点击保存。当上述步骤全部配置完成后则点击最下面的“部署”按钮来一键部署前面配置好的源端和目标端服务。28大中型企业与公共组织云平台9. 表关系配置此项用于配置源端数据库表和目的端数据库表的对应关系,用户可以用此关系在目的端创建相应的表以及从源表向其中导入原始数据。:用户通过设计器面板选择要镜像的表:选入,用户可以用 LIKE 语法匹配(Start%,%End 也属于 LIKE 匹配),点击也可以点击从文件中导入。点击可将选入的删除。29大中型企业与公共组织云平台目标端的设置如图:分别表示目的服务器,目的数据源和 Ora28a Agent 的端(导入 GBASE 数据库的时候需

25、要)。这里端口的 4730 为默认值,一般不需要修改,如果该端口没有启动,则需要在 gbase数据库服务器上启动该端口,具体方法如下:1.进入$GBASE_BASE/tools/orato8a_agent.其中$GBASE_BASE 为GBase 数据库目录所在。2.启动 start-orato8a-agent.sh 开启端口即可。在右边表的表格中可以修改目的 schema 和表名,如图:表格的最右边是进度条当同步完成时进度条会变成绿色,失败会变成红色,并提示执行出错。点击【部署】可以将此部署,以便在计划任务中使用,点击【同步表结构】在目的端数据库创建相应的表,点击【同步表数据】向目的数据库导

26、入相应数据。30大中型企业与公共组织云平台10.邮件通知配置RDI 邮件用于RDI 系统在系统发生异常和全表对比结果等情况下给用户通知信息,目前主要用电子邮件的方式,从【新增】按钮菜单选择“邮件”如图配置:进入配置界面,多个接受者可以用分号分隔,如图:【部署】按钮用于把配置写入服务器。【重新部署】按钮用于更新之前的部署。【测试邮件】用于测试邮件配置是否有效,有效的话将收到主题为测试邮件的邮件。31大中型企业与公共组织云平台11.生产引擎详解11.1. 生产引擎生产引擎负责按照其属性配置从源端数据源分析日志,然后将日志按照过滤器进行匹配后到服务队列。生产引擎部署后就成为一个源端服务 Source

27、Service。用户可以通过RDI Console 开启/关闭、中断/恢复源端服务,以及其运行状态,如图:11.2. 运行期源服务运行期状态属性有下图所示:nstate 表示运行状态,有 STOPPED(已停止),RUNNING(正在运行),SUSPENDED(暂停);32大中型企业与公共组织云平台nstartTime 状态项,用来源服务启动的时间。因为事务和操作计数是从服务启动开始累加的。校对源和目的的事务和操作数是否一致需要源和目的服务是同一次启动的才有意义。此项就是用于确定源和目的服务是否同时启动;ndistance_behind 表示源服务现在分析进度与当前数据库执行落后多少个操作,d

28、istance_behind 大,说明源服务事务分析慢,和目的服务的 QueueSize 配合来查看系统的性能瓶颈;ntx_count 表示从源服务启动到现在已经分析了多少个事务;noperation_count 表示从源服务启动到现在已经分析了多少个操作;ninsert_count 表示从源服务启动到现在已经分析了多少个 insert 操作;nupdate_count 表示从源服务启动到现在已经分析了多少个 update 操作;ndelete_count 表示从源服务启动到现在已经分析了多少个 delete 操作;nQueueSize 用于目的服务;nPending_tx_cache_siz

29、e 事务分析缓存中尚未提交的事务数量;nXID:<transaction ID>未提交的事务中目前的操作数。属性11.3.属性列表中列出了生产引擎运行所需要的属性,其中一些是必要属性,另外一些是性能调优的参数,如图:33大中型企业与公共组织云平台详细说明如下:34Datasource_name生产引擎中使用的数据源名suspend_on_exception当生产引擎执行遇到异常时是否 suspend 该服务auto_recover当遇到Message Queue 或者数据库连接中断时,是否自动恢复;当生产引擎配置为 suspend_on_exception=true,并且servi

30、ce 因为异常而 suspend 时,此项无效,不自动恢复。mail_notificationMail 通知配置Service_log_level服务日志的输出级别mq.url用于连接消息中间件的 URL.目前默认提供 activeMQ 作为消息中间件。用户可以多种方式连接到消息中间件。例如:source home/conf/perties 有如下配置:mq.url=vm:(broker:(tcp:/localhost:8080)?persistent=true)?mars hal=false大中型企业与公共组织云平台35表明 Source Server 用本地 VM 协议连

31、接到 activeMQ,并且他们运行在同一个进程中,同时 activeMQ 对其他客户端开放tcp 协议。此时Target Server 可使用tcp 协议连接到activeMQ, target.home/conf/perties 应作如下配置:mq.url=tcp:/localhost:8080在 linux 环境网络环境中应该使用真实 IP 地址,不要使用activeMQ 亦可运行于单独的进程中,以及支持 http 等多种协议。详细了解可见mq.username连接到消息中间件的用户名mq.password连接到消息中间件的scn_step每一轮日志挖掘

32、的步长period每一轮日志挖掘的时间间隔 (毫秒)Match_mode目前只是 SINGLEbulk_valve事务合并是指把源端发掘的事务进行合并,按照bulk_valve的值进行合并,合并事务可以增加 RDI 实时的效率。bulk_valve=0 表示不使用事务合并。Bulk_valve 默认值为 10, 表示源端会将每 10 个事务进行合并。Flush_delaybulk_valve>0 的情况下,如果两次事务的间隔时间大于flush_delay 则事务会被直接。Miner_fetch_size生产引擎的 fetch size,默认为 64Sql_bq_size生产引擎缓存大小,

33、默认为 32,是Kenable_ddl_create表示是否支持 create table 的 DDLCache_name缓存的名字大中型企业与公共组织云平台11.4. 过滤器过滤器将生产引擎分析所得到得事务按照表名规则进行匹配过滤,一个生产引擎可以设置多个过滤器,并且过滤器按照顺序进行过滤。名字为 EngineFilter 的过滤器是生产引擎的第一个过滤器,用户必须进行设置。用户还必须自定义至少一个过滤器。引擎会用EngineFilter 定义的规则去分析事物,然后将所得的事务按照过滤器定义的顺序依次进行匹配,并到与之对应的服务队列;如果一个事务可以匹配到多个过滤器的规则,那么后面的过滤器将

34、被忽略。EngineFilter 支持 EQUAL,LIKE(包含 BeginWith 和 EndWith)语则,过滤器还支持正则表达式规则。工作原理如下:配置界面如图:36cache_max_elements_in_mem ory缓存最大元素数目cache_eternal缓存是否不过期cache_max_elements_on_disk缓存本地最大元素数目cache_overflow_to_disk是否从内存溢出到硬盘cache_time_to_live_seconds缓存生命周期cache_disk_store_path本地缓存路径Monitor_memory_percent_usa ge

35、表示 MQ 使用内存比的上限,超过这个上限则源端进程会自动挂起大中型企业与公共组织云平台这里对于数据库中的列表时按照字母顺序从小到大进行排序的,另外如果想知道数据库的名字,那么可以在点击数据库的列表框时,按数据库的首字母,能够更快。如图:对于上面选定的 schema 的所有表,会显示在下图中,并且它们也是按照字母顺序排序的。37大中型企业与公共组织云平台38大中型企业与公共组织云平台12.消费引擎详解消费引擎从消息中间件服务队列接收事务并且应用到目的数据库。消费引擎与工作队列一一绑定,所以也可以认为和生产引擎的过滤器一一对应。消费引擎部署并启动后就是一个 target service,它是运行

36、的线程。用户可以通过 RDI Console 启动/停止,暂停/恢复,部署/解部署这个服务,还可以监视其运行期的状态属性,与 source service 相似。需要注意的是,Distance_behind 属性对target service 而言无意义。:12.1. 运行期属性目的服务运行期状态属性由下图所示:39大中型企业与公共组织云平台目的服务的状态属性和源服务很相似,这里只说明有区别的地方:ndistance_behind 在目的端无意义;nQueueSize 表示队列中存在的消息个数,如果值大,说明目的数据库应用事务慢;和源服务 distance_behind 一起来查看系统的性能瓶

37、颈:目的服务 QueueSize 大,说明目的数据库应用事务慢;源服务 distance_behide 大,说明源服务事务分析慢。n<Schema>.<Table> 表示当前对 schema 为 RDISA_T 的表 EMP 共有多少个操作。按照表统计操作数,目的是能够帮助用户分析出“热表”,在模块划分的时候可以更加合理。但是这个统计对性能有一定的影响。属性12.2.Target Module 中也有属性配置,各项配置及意义如下:40Datasource_nameTarget Module 中使用的数据源名,事务将通过这个数据源应用的目的数据库suspend_on_ex

38、ception当 Target Module 执行遇到异常时是否 suspend 该服务auto_recover当遇到Message Queue 或者数据库连接中断时,是否自动恢复。当 Target Module 配置为 suspend_on_exception=true,并且 service因为异常而 suspend 时,此项无效,不自动恢复。mail_notificationMail 通知配置Service_log_level服务日志的输出级别Associated_mq.url用于连接消息中间件的 URL.目前默认提供 activeMQ 作为消息中间件。用户可以多种方式连接到消息中间件。例

39、如:source.home/conf/perties 有如下配置:mq.url=vm:(broker:(tcp:/localhost:8080)?persistent=true)?marshal= false表明 target Server 用本地 VM 协议连接到 activeMQ,并且他们运行在同一个进程中,同时 activeMQ 对其他客户端开放 tcp 协大中型企业与公共组织云平台41议。此时 Target Server 可使用 tcp 协议连接到 activeMQ, target home/conf/perties 应作如下配置:mq.url=tc

40、p:/localhost:8080在 linux 环境网络环境中应该使用真实 IP 地址,不要使用activeMQ 亦可运行于单独的进程中,以及支持 http 等多种协议。详细了解可见mq.username连接到消息中间件的用户名mq.password连接到消息中间件的Associated_jms_destina tion接收消息的消息队列名称tx_branch_size用于 Target Server 的并发应用事务策略。当分析得一个事务可以并发应用的情况下,Target Server 将使用多线程多连接并发执行。tx_branch_size=0 表示不并发执行tx_bra

41、nch_size>0 表示事务中的 SQL 操作将以此大小为进 行分割并发执行。若系统得不到分割完所得的连接数,那么Target Server 将用可得到的连接数进行重新分割,然后并发执行。tiny_tx_merge用于小事务频繁的业务。 Target Server 将小事务合并在一起提交。tiny_tx_merge=0 表示不进行事务合并tiny_tx_merge>0 表示若收到的一组事务的平均事务大小小于此值,那么这一组事务将作为一个事务提交。receive_batch_size批量接收的事务数,消费引擎批量接收事务后一次提交,再批量执行。这样可以减少 MQ 中消息的堆积。大中

42、型企业与公共组织云平台12.3. 事务器RDI Transaction Interceptor 用于 Target Module,在配置 Target Module 时可以对其进行设置,以实现同步数据之外的额外工作,类似 AOP 功能,Transaction Interceptor 也是依配置的次序执行。到目前为止,API 尚未开放。RDI 内部已经实现了 5 个interceptor。nTableMirroringInterceptornSimpleTransactionInterceptornSetClauseTrimmernWherePKTransactionInterceptornDi

43、gestTransactionInterceptorTransaction Interceptor 通用属性:interceptor.classTransactionInterceptor 的完整 classnameinterceptor.type分为 BeforeCommit, AfterCommit 两种,分别为事务提交之前和之后被调用。以下分别介绍 TransactionInterceptor。n TableMirroringInterceptor该器是表镜像事务器,是 Target Module 中基本的器,而且在配置 TargetModule 时会默认生成一个该器,用于指定源表到目地

44、表建立的镜像。其默认的镜像是“源 Schema.* 目的 Schema.*”,当然用户可以根据的实际应用具体指定该镜像。界面如下图:点击保存当前的事务器设置,点击新建一个事务器。nSimpleTransactionInterceptor功能:用于给事务增加额外操作;如图:42大中型企业与公共组织云平台schema 为目的端的 schema,table 是指对该 schema 的那个表操作时,会执行附加操作(insert,update,delete,tx_addtion)这里的 schema 不可以使用通配符“%”。# 对每个 insert 语句增加的操作#:"<column_n

45、ame>" 用户对此列 insert 的新值,可理解为此列的新值。#对每个 update 语句增加的操作#:"<column_name>"where 子句中相应列名对应的值,可理解为此列的旧值。#:"<column_name>"set 子句中相应列名对应的值,可理解为此列的新值。# 对每个 delete 语句增加的操作#:"<column_name>"where 子句中相应列名对应的值,可理解为此列的旧值# 对整个事务增加的操作,这里无法使用的形式tx_addition = inse

46、rt into table2 values( 999 ,'zzz');nSetClauseTrimmer功能:对于 update 语句,如果 set 子句中的新值与 where 子句中的列对应的旧值相同,那么将 set 子句中的这个列去掉,如果 set 子句中的新值与 where 子句中的列对应的旧值全43delete=delete from table2 where id = :"ID"update=delete from table2 where id= :"ID"insert into table2 values( :"I

47、D",:"NAME")insert=delete from table2;insert into table2 values( :"ID" ,'zzz');大中型企业与公共组织云平台部相同,那么这个 sql 语句会从事务中删除。在事务日志中,提交的 sql 会为具体的带有每个属性的原子操作,这样就能够检查update 中 set 子句的属性是否出现在 where 子句中。setClauseTrimmer 就是把在 where 中出现的属性,如果在 set 中某个属性出现的值和 where 同属性的值一样,那么就删除 set 中的

48、这个属性,如果 set 中的所有属性的值都出现在 where 中,那么就把这个操作删除。在目的端会去掉 sname 属性,然后执行。删掉整个 sql,不用执行。#支持通配,对符合此支持 like 语法,如果对所有的表都做此优化的话可以用%其操作界面如下:nWherePKTransactionInterceptor功能:如果表有 PK,那么将 where 子句中的其他字段条件去掉,只剩下 PK 字段条件。# PK 字段,双引号, 可以包含多列, 用逗号分割# 对 RDISA.TABLE1 使用这个 interceptor,对其他表不使用44schema=RDISA,注意这里不能用通配符(%) t

49、able=GL_VOUCHER对于 Sql= update stu set grade = 200 where sid like '%1' and grade =106;pk.columns="PK_VOUCHER"schema=%table=%=106;Sql:update stu set sname = 'wangxiao', grade = 106 where sname = 'wangxiao' and gradeSql:update stu set sname = 'wangxiao', grade

50、= grade+10 where sname = 'wangxiao' ;大中型企业与公共组织云平台那么在数据库日志中会具体变为原子操作,可能这样一条语句变为了 n 条,其中一条假设是:那么在目的端执行时会去掉 where 子句中主键以外所有属性,如 grade,修改后变为:其操作界面如下:注意这里的 schema 不能用通配符。nColumnFilter功能:对 insert 和 update 操作,用户可以根据需要配置只更新特定的列。#列名引号, 可以包含多列,用逗号分割:# 必须属性:其操作界面如下:这样做是因为目的端数据库不一定需要源端数据库的所有数据,所以可以只选定某

51、些需要的列进行更新。这里 schema 可以用通配符。45schema=RDISAtable=AAAinsert.filter.columns="AAA"update.filter.columns="AAA"update stu set grade = 200 where sid like '%1' and grade =106;update stu set grade = 200 where sid=11 and grade =106;大中型企业与公共组织云平台13.调度详解RDI 调度是一系列命令和上下文环境组织成的,这个可以按照用户的设置定期自动执行。新建计划:13.1.命令简介RDI 中计划命令的功能介绍。nrdi_tablecompare功能:用于进行数据的全表对比。该功能的主要目的是判定在完成增量同步后目标表与原表的数据是否一致。从界面上选择源端的数据源、schema 和表以后目标端的数据源、schema 和表。然后选择想要输出的文件类型:不同项:代表两端主键相同但其他字段有不同的。目标端多出项:代表目标端有而源端没的。目标端缺少项:代表目标端没有而源端有的。匹配项:代表两端相同的。输出 SQL 文件:代表目标端根据和源端的不同项可以生成执行之后与源端相同的 SQL语句。输出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论