一种异构数据库平台数据的同步方法技术

技术编号:11068836 阅读:168 留言:0更新日期:2015-02-25 08:58
本申请提供了一种异构数据库平台数据的同步方法,包括以下步骤:在PostgreSQL数据库中分别安装与源数据库和目标数据库对应的第一外部数据交换模块和第二外部数据交换模块,并建立第一外部数据交换模块扩展及第一外部服务器、第二外部数据交换模块扩展及第二外部服务器;所述源数据库和所述目标数据库为异构数据库;创建分别与源数据库和目标数据库建立映射关系的第一外部数据表和第二外部数据表,再分别建立捕捉数据变更的触发器。本申请创新性的将PostgreSQL数据库和相应的数据交换模块作为中介,来实现外部多源异构数据库之间的数据同步/复制。

【技术实现步骤摘要】

本申请涉及数据库数据同步领域,特别地,涉及一种异构数据库平台数据的同步 方法。
技术介绍
现有技术中,国外大多数数据库厂商提供了数据复制的功能,而且一般都支持异 构数据库间的复制,如MS SQL Server、Oracle、Sybase等,也开发了能作为数据导入导出 工具的产品,如SQLServerfOOO的DTS。有一些软件商开发的复制中间件应用于数据复制 领域,如比较知名的有PeerDirect公司的roRE、SynchroLogic公司的SyncKit、Syware公 司的DataSync等。这些方法的优点在于它们独立于数据库系统本身,能够解决各种异构问 题;能够适应主从复制和同步复制;能够提供丰富的API,可扩展性好。 但现有产品仍然存在一些缺陷: 1、异构数据库数据的同步/复制大都依赖于数据库管理系统的支持,普遍存在着 符合某种体系结构或标准的前提,因此兼容性欠缺,故应用范围受到一定的限制;复制中间 件只针对一部分应用领域或者只针对某些特定的异构平台,并不能广泛应用。 2、数据库厂商提供的异构数据库间的复制对异构的支持程度比较有限: 例如:MSSQLServer的复制方案对网络要求高,如果因网络故障或其他原因找不 到目标数据库则复制功能会直接down掉,需要复制的表在使用过程中不能经常变动表结 构;Oracle的复制方案配置和管理比较复杂,需要有专业的技术人员处理;Sybase的复制 方案数据和网络的流量大,且配置困难;DB2复制方案CCD表要占用较多的系统资源,如存 储空间和进程等,需要安装各种数据库的客户端,通过客户端连接到其他类型的数据库。 3、数据库数据同步/复制的方法存在针对性较强,缺乏普遍的适用性,难以进行 二次开发以及不能进行持续的数据集成的问题。
技术实现思路
本申请目的在于提供,以解决现有技术的多 源、分布式、异构数据库平台数据同步/复制的局限性和兼容性不足的技术问题。 为实现上述目的,本申请提供了,包括以下 步骤: A、在PostgreSQL数据库中分别安装与源数据库和目标数据库对应的的第一外部 数据交换模块和第二外部数据交换模块,并建立第一外部数据交换模块扩展及第一外部服 务器、第二外部数据交换模块扩展及第二外部服务器; 所述源数据库和所述目标数据库为异构数据库;外部数据交换模块包括预定义的 数据类型映射文件; B、基于第一外部服务器和第二外部服务器,创建分别与源数据库和目标数据库建 立映射关系的第一外部数据表和第二外部数据表; C、基于第一外部数据表和/或第二外部数据表,分别建立捕捉数据变更的触发 器。 优选的,在所述源数据库和所述目标数据库需要更新的数据表上,建立捕捉数据 变更的触发器。 优选的,步骤B中建立映射关系为: 创建PostgreSQL数据库角色与所述源数据库、目标数据库角色的映射。 优选的,所述映射关系以文件形式保存。 优选的,所述源数据库和所述目标数据库为MSSQL Server、Oracle、DB2、Sybase、 MySQL、PostgreSQL 中的任意一种。 优选的,所述源数据库和所述目标数据库的基础操作系统为Unix、Windows NT、 Linux中的任意一种。 本申请具有以下有益效果: 本申请创新性的采用开源数据库PostgreSQL为中间数据库,综合利用开源DBMS 及其外部数据交换模块实现多源、分布式、异构数据库平台业务数据的同步/复制,包括 PostgreSQL数据库相应外部数据交换模块的安装、外部数据交换模块的建立、映射用户 的创建、外部数据表的创建;能够实现多种异构数据库平台数据的同步,包括但不限于: Oracle、MSSQLServer、MySQL、PostgreSQL 0 本申请的同步方法由于采用的是开源数据库PostgreSQL作为中间数据库,各异 构源数据库或目标数据库需同步/复制的表在PostgreSQL中分别对应不同的外部数据表, 异构数据库之间数据的同步/复制是通过在PostgreSQL中映射的外部数据表来实现的,只 要保证源数据库和目标数据库相对PostgreSQL数据库的正常连接和访问即可实现异构数 据库数据的顺畅同步/复制。 并且,本申请综合利用开源DBMS及其外部数据交换模块实现异构数据库平台业 务数据的同步/复制,将需要数据同步/复制的内容以外部数据表的形式在中介开源DBMS 中实现,无需对生产DBMS和生产服务器进行特殊的操作,不会对源或目标数据库系统平台 和操作系统平台产生较大的负载,不会对业务系统产生不良影响。 具体的优势有: (1)扩展性 本申请中,异构数据库间的连接都是通过PostgreSQL的外部数据交换模块进行, 所以在更换DBMS的情况下,换个相应的外部数据交换模块,修改些配置文件,对程序进行 少量的修改便可以适用于新环境,故而扩展性较好。 (2)传输的数据量 该专利技术传输的捕获到的变化数据,相对于SQL Server和Sybase的传输事务日志 的复制方案,传输量减小了。 本申请中数据传输主要体现在源数据库与PostgreSQL数据库及目标数据库与 PostgreSQL数据库外部数据表的数据同步,同步的是SQL语句。而SQL Server和Sybase 本质上同步的是事务日志,事务日志相对于SQL语句添加了很多其他信息,数据量大得多。 (3)传输稳定性 本申请使用PostgreSQL数据库作为中介,可以通过PostgreSQL控制触发器来控 制每次处理的数据量,防止在大数据量传输的情况下出现程序消耗内存过大而出现内存 不足的错误。因此即使在大数据量传输的情况下,也能稳定传输。 (4)提高系统可用性和可靠性 数据库同步复制是一种实时远程存取和实时更新数据的分发复制技术,最基本的 功能是提高数据库工作的性能,通过将远程数据库中的数据复制到本地,使得应用能够就 近访问数据,避免了远程读取数据,从而降低网络传输负载,提高效率。降低网络传输开销 和缩短响应时间,在节点和通信发生故障时仍可保证系统依然正常运行,能够起到数据备 份的作用。 (5)配置部署 配置简单方便,非常容易操作。 本申请的异构数据库平台数据同步/复制的方法可以集成多源、分布式、异构的 各个信息系统中的数据,消除信息孤岛,保证信息系统之间信息交换的畅通,保障数据 传输中的一致性和安全性,真正实现数据共享,在数据仓库、应用集成,到移动办公、电子商 务,从高可用性系统、负载均衡,到嵌入式系统、互联网设备等多个领域都可以发挥重要作 用。 除了上面所描述的目的、特征和优点之外,本申请还有其它的目的、特征和优点。 下面将参照图,对本申请作进一步详细的说明。 【附图说明】 构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实 施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中: 图1是本申请优选实施例的结构示意图; 图2是本申请优选实施例的流程不意图; 图3是本申请优选实施例的数据同步流程示意图; 其中,本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201410631561.html" title="一种异构数据库平台数据的同步方法原文来自X技术">异构数据库平台数据的同步方法</a>

【技术保护点】
一种异构数据库平台数据的同步方法,其特征在于,包括以下步骤: A、在PostgreSQL数据库中分别安装与源数据库和目标数据库对应的的第一外部数据交换模块和第二外部数据交换模块,并建立第一外部数据交换模块扩展及第一外部服务器、第二外部数据交换模块扩展及第二外部服务器; 所述源数据库和所述目标数据库为异构数据库;外部数据交换模块包括预定义的数据类型映射文件; B、基于第一外部服务器和第二外部服务器,创建分别与源数据库和目标数据库建立映射关系的第一外部数据表和第二外部数据表; C、基于第一外部数据表和/或第二外部数据表,分别建立捕捉数据变更的触发器。

【技术特征摘要】
1. 一种异构数据库平台数据的同步方法,其特征在于,包括以下步骤: A、 在PostgreSQL数据库中分别安装与源数据库和目标数据库对应的的第一外部数 据交换模块和第二外部数据交换模块,并建立第一外部数据交换模块扩展及第一外部服务 器、第二外部数据交换模块扩展及第二外部服务器; 所述源数据库和所述目标数据库为异构数据库;外部数据交换模块包括预定义的数据 类型映射文件; B、 基于第一外部服务器和第二外部服务器,创建分别与源数据库和目标数据库建立映 射关系的第一外部数据表和第二外部数据表; C、 基于第一外部数据表和/或第二外部数据表,分别建立捕捉数据变更的触发器。2. 根据权利要求1所述的一种异构数据库平台数据的同步方法,其特征在于,在所述 源数据库和所述目标数据库需要更新的...

【专利技术属性】
技术研发人员:范志龙吴松林
申请(专利权)人:中国有色金属长沙勘察设计研究院有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1