愚公oracle数据库同步工具

最近,利用一些时间对oracle数据库实时同步工具做了一些调研分析,主要关注了linkedin的databus和阿里的yugong两个中间件,其中databus需要在每个待同步的表上增加额外的列和触发器来实现,方案比较重,本文将着重分析一下阿里的yugong实现方案及给出分析调研报告。

1.yugong实时同步原理

使用了oracle的物化视图日志功能,类似于一个内部的触发器,原表的数据库需要对用户授权具有物化视图日志的创建和删除权限,关于物化视图日志的详细描述,可以参考下面的文章:

http://blog.csdn.net/tianlesoftware/article/details/7720580

2.性能测试

a.在测试环境1的原表(TEST_SOURCE)新生成300万数据

b.为不影响开发环境的数据,修改yugong代码,将目标表改为TEST_SOURCE_BAK

c.启动yugong服务,开始同步数据

d.经过1.5小时,同步完所有增量数据

3.数据延时测试

a.分别手动对原表数据进行了增改删操作,10秒钟内可以实现数据同步

b.在目标库中新增一列,类型为时间类型,默认值为当前时间

c.使用脚本反复在原库中生成一批数据(50条为一批)

d.所有数据的延迟时间都在30秒以内

4.数据完整性测试

a.手工随机抽查数据,对比同一条记录的各个列值,数据都是一致的

b.使用jdbc抽出特定的记录集合,使用md5函数,md5结果一致

5.其它测试用例

a.原表增加字段,而目标表不增加,数据正常同步

b.目标表先增加字段,原表不增加字段,数据正常同步

c.原表和目标表同时增加字段,服务需要重新启动后才可以进行数据同步

d.无主键测试,yugong不支持无主键同步

e.主键为多列测试,可以正常同步

f.yugong服务连续运行72个小时,中间出现过一次同步中断,原因不明

g.物化视图日志在事务中rollback时,会同步rollback

h.目标表将某条记录删除,原表将此记录更新,此记录会重新同步到目标表

6.yugong分析

a.代码简洁,分为extractor(提取)、translator(翻译)、applier(更新到目标库)三个部分

b.只有一个服务,无其它第三方依赖

c.原理简单,可以按照我们的意图来更改代码

时间: 2024-10-07 17:28:57

愚公oracle数据库同步工具的相关文章

Oracle数据库备份工具——UCache企业级灾备云

UCache企业级灾备云以WEB平台的方式,向企业提供面向云端.虚拟和物理环境下的数据.平台.应用备份/恢复的云服务平台.向企业提供面向云端.虚拟和物理环境下的数据.平台.应用备份/恢复的云服务平台的数据级和应用级的备份与恢复.UCache企业级灾备云除了可以当作Oracle数据库备份工具,其实他的适用范围还不止这些,还包括:一.作为支持各种版本操作系统的数据备份/恢复的工具:1.Windows2000版本PC电脑端操作系统的数据实时.定时自动备份/恢复工具2.WindowsXP版本PC电脑端操

C#同步SQL Server数据库中的数据--数据库同步工具[同步新数据]

C#同步SQL Server数据库中的数据 1. 先写个sql处理类: using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Text; namespace PinkDatabaseSync { class DBUtility : IDisposable { private string Server; private string

SQL数据库同步工具(开辟数据同步工具)2.0 中文免费版

SQL数据库同步工具(开辟数据同步工具)本系统分为客户端和服务器两个部分,其中客户端承担了系统绝大数事务,服务器只是简单的执行客户端传送的命令,属于典型的C/S胖客户端瘦服务器模式.这样设计的目的是为了减轻服务器的压力,让系统更加流畅. 本系统分为客户端和服务器两个部分,其中客户端承担了系统绝大数事务,服务器只是简单的执行客户端传送的命令,属于典型的C/S胖客户端瘦服务器模式.这样设计的目的是为了减轻服务器的压力,让系统更加流畅. 客户端负责采集分布数据库中的数据,然后汇总到服务器.客户端需要配

MSSQL复制功能实现与Oracle数据库同步

1.分别建立链接对数据库进行操作,SQLServer可以用ADO.NET,操作Oracle可以用OLEDB或者用System.Data.OracleClient(需要添加引用才能用) 这种方案的优点就是简单,各自写各自的数据库操作代码,缺点就是不能将两个数据库中的表直接进行联合查询,链接Oracle的每台机器必须安装OracleClient才可以使用. 2.使用同义词操作Oracle数据库. 这种方法的具体操作我在以前的文章中已经写清楚了,这样做一来可以进行表的联合查询二来不需要每台机器都安装O

数据库同步工具HKROnline SyncNavigator SQL Server互同步MySQL

需要联系我QQ:786211180 HKROnline SyncNavigator 是一款专业的 SQL Server, MySQL 数据库同步软件.它为您提供一种简单智能的方式完成复杂的数据库数据同步,分发操作. 支持 Windows XP / Windows 2003 以上所有操作系统 支持同构数据库同步,异构数据库同步,定时同步,增量同步,断点续传 完整支持 Microsoft SQL Server 2000, 2005, 2008 支持 Mysql 4.1 5.0 5.1 5.4 5.5

mysql数据库同步工具

? ?客服QQ1793040 ? 关于HKROnline SyncNavigator 注册机价格的问题 HKROnline SyncNavigator?8.4.1 企业版数据同步软件 自2009年第一个版本开发出来以来,经过8年不断地根据客户需求,加强功能,修复bug,现在已经具备强大的数据库同步功能,以前官方syncnavigator授权码的价格是2800元一套,授权码是绑定电脑硬件的,更换硬件或者电脑,软件无法正常运行,需要重新购买授权码. 今年官方团队有其他项目,没有重点开发市场,其中一个

java 链接Oracle数据库的工具类

java连接Oracle数据库的方式 1 特点:oracle.jdbc.OracleDriver是注册oracle驱动类: jdbc:oracle:thin:@localhost:1521:xe:连接oracle的方式:网络协议+访问方式+IP+端口号+xe数据库: user:hr数据库用户名 Password:hr数据库的用户密码 缺点:statement方式连接数据库容易被黑客注入式攻击 所有不安全 现在企业中很少采用这种方式的了 连接数据库后一定的关闭连接,这个最容易忘记 调用close(

使用Red Gate Sql Compare 数据库同步工具进行SQL Server的两个数据库的结构比较、同步

将测试版的项目同步(部署)到正式版的时候,两个数据库的结构比较与同步时,如果修改数据库的时候没有记录好修改了那些表,很难将两个数据库进行同步 RedGate Sql Compare使用简介说明: 1.比对并同步数据库中的所有对象 包括存储过程.关系.表.视图和用户定义的函数 2.报告所有差异 3.生成直接在目标数据库上运行的迁移脚本 Red gate sql compare 官网:http://www.red-gate.com/products/sql-development/sql-compa

Oracle数据库性能测试工具:Swingbench部署实录

[[email protected] ~]# su - oracle [[email protected] ~]$ sqlplus / as sysdba SQL> create tablespace soe     datafile '/u01/app/oracle/oradata/king/soe01.dbf'     size 4096M     extent management local     uniform size 1M; [[email protected] ~]$ unzi