[发明专利]一种内存数据库到文件数据库的数据同步方法及系统无效

专利信息
申请号: 200910246099.2 申请日: 2009-12-01
公开(公告)号: CN101876996A 公开(公告)日: 2010-11-03
发明(设计)人: 王征;袁晓鹏 申请(专利权)人: 广州从兴电子开发有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京集佳知识产权代理有限公司 11227 代理人: 李秋香;逯长明
地址: 510300 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 内存 数据库 文件 数据 同步 方法 系统
【说明书】:

技术领域

发明涉及数据库领域,特别是涉及一种内存数据库到文件数据库的数据同步方法及系统。

背景技术

预写式日志(Write-Ahead Logging,WAL)是一种实现事务日志的标准方法,WAL的中心思想是对数据文件的修改(表和索引的载体)必须是只能发生在这些修改已经记录了日志之后,即在日志记录冲刷到永久存储器之后。如果遵循这个过程,那么就不需要在每次事务提交的时候都把数据页冲刷到磁盘,因为在出现崩溃的情况下,可以用日志来恢复数据库:任何尚未附加到数据页的记录都将先从日志记录中重做(这叫向前滚动恢复,也叫做REDO日志),然后那些未提交的事务做的修改将被从数据页中删除(这叫向后滚动恢复,也叫做UNDO日志)。

使用WAL的第一个明显的好处就是显著地减少了磁盘写的次数,因为在日志提交时只有日志文件需要flush到磁盘上;在多用户环境里,许多事务的提交可以用日志文件的一次同步函数(fsync())完成。而且,日志文件是顺序写入磁盘的,而数据文件往往在文件中间进行修改,因此同步日志的开销要远比同步数据页的开销要小。

使用WAL的另外一个好处是数据页的完整性。无论是商业数据库、还是常用的开源数据库如MySQL、PostgreSQL等等,在使用WAL原理前,不能保证在崩溃的情况下数据页的完整性。

在使用WAL之前,在写的过程中的任何崩溃都可能导致:

索引记录指向一个不存在表的行。或者,索引记录在分裂操作中丢失。或者,完全崩溃的表和索引页的内容,由于数据页只写一部分的情况。

索引记录指向一个不存在表的行;或者,索引记录在分裂操作中丢失可能已经通过额外的fsync()调用修补好,但是如果没有WAL,那么没有有效处理第三种情况即完全崩溃的表和索引页的内容,由于数据页只写一部分这种情况的方法。如果在崩溃后的恢复中需要确保数据页的完整性,WAL在日志里保存整个数据页的内容。

WAL还提供数据库在线备份和恢复(backup and restore,BAR)的新方法,需要经常性把数据文件保存到另外一个磁盘、磁带或者另外一台主机并且还要备份WAL日志文件。数据库文件拷贝和日志归档文件就可以用于像灾难恢复那样恢复数据。每次做完新数据库文件以后,这个老的日志文件就可以删除。这样就可能需要记录数据文件和索引创建和删除的日志;同时还需要开发一种方法来拷贝数据文件(这是由于操作系统拷贝命令是不合适的)。

困难是要求在相当可观的时间段内保存WAL日志(也就是说,如果需要事务的UNDO,那么和可能的最长事务的时间一样长)。目前数据库使用的WAL格式的体积相当大,因为包括多个磁盘页的镜像。

由于这些日志只需要保留一到两个检查点的时间间隔;但是为了实现日志保存,可能需要某种压缩的WAL格式。

内存数据库在使用的过程中,往往需要定期将内存数据库中表的数据导入到基于磁盘的文件数据库中,如Oracle、DB2等。由于内存数据库和文件数据库的应用领域不同,常用的做法是采用全量表和增量数据的方式。采用这种方式,在操作内存数据库的同时,要向一个增量数据表里插入相应的数据,由一个服务进程定期从增量数据表读取后插入到文件数据库中。

内存数据库为了将数据同步到文件数据库中,必须对需要同步的表建立一个增量数据表。对内存数据库的每一个操作,只要涉及到修改这种表的数据,则必须同时在增量数据表里面增加一条记录,来记录修改的内容。因此,对内存数据库的一个操作,现在演化成为了多个操作,且必须在一个事务中完成。这就大大影响了内存数据库的性能。

发明内容

本发明的目的是提供一种内存数据库到文件数据库的数据同步方法及系统,在不影响内存数据库的性能的前提下,实现数据同步。

本发明提供一种内存数据库到文件数据库的数据同步方法,所述方法包括以下步骤:

A、内存数据库将事务日志记录写入日志缓存区;

B、定义内存数据库和文件数据库数据表的对应关系;

C、根据事务日志刷新进程,异步地将所述日志缓存区中的所述事务日志中信息,按照所述内存数据库和文件数据库数据表的对应关系,同步到文件数据库中。

优选地,所述事务日志为WAL事务日志文件,用于记录内存数据库的事务处理信息。

优选地,所述步骤C所述事务日志为无格式事务日志文件。

优选地,所述文件数据库为Oracle、或DB2、或Informix。

本发明还提供一种内存数据库到文件数据库的数据同步系统,所述系统包括:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州从兴电子开发有限公司,未经广州从兴电子开发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910246099.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top