CN107229537A - 一种数据库实时备份方法 - Google Patents
一种数据库实时备份方法 Download PDFInfo
- Publication number
- CN107229537A CN107229537A CN201710397744.5A CN201710397744A CN107229537A CN 107229537 A CN107229537 A CN 107229537A CN 201710397744 A CN201710397744 A CN 201710397744A CN 107229537 A CN107229537 A CN 107229537A
- Authority
- CN
- China
- Prior art keywords
- module
- transaction journal
- backup
- transaction
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Abstract
一种数据库实时备份方法,通过以下模块实现:事务日志监控、事务日志分析、传输模块和恢复模块。本发明通过只监控数据库的事务日志,只备份事务日志变化的内容。相对CDP监控及备份整个卷的变化数据,连续日志备份的备份粒度小了一个数量级以上,无论对业务系统、备份设备,还是对网络带宽,都几乎没有任何压力,而且稳定可靠、兼容性好,实现真正的“连续”保护,效率高且成本低。
Description
技术领域
本发明涉及计算机数据处理技术领域,尤其涉及一种数据库实时备份方法。
背景技术
实时备份是指实时地对业务数据进行备份的方式。相对于传统定时备份的方式,实时备份可以达到极小的RPO(Recovery Point Objective),最大程度上避免由于故障导致的数据丢失。
目前市场上广泛使用的实时备份方式是CDP(Continuous data protection,也称连续数据保护)。这种备份方式主要通过在硬件层面或操作系统驱动程序层面捕获磁盘的写操作,然后立即将捕获到的变化数据保存到备份设备上。
这种方式存在以下一些问题:
监控及备份的粒度太大,由于CDP实现在硬件或系统驱动层面,因此其捕获磁盘写操作的粒度最小只能到卷级别,捕获的数据不仅包含所有数据文件和日志文件,还包括同个卷上写入的其它数据,对带宽和存储设备的空间、性能都有较高要求。
稳定性存在隐患,无论软硬件驱动的实现方式,发生问题都直接影响操作系统的正常运行,甚至可能造成业务停摆、数据丢失。同时由于备份的粒度较大,备份系统如果性能达不到要求也可能影响业务系统的性能。
兼容性不好,不同操作系统的驱动实现方式完全不同,甚至不同操作系统版本的驱动接口都有差异。而硬件方式也可能与操作系统不能完全兼容。
大部分并非真正“连续”,大部分CDP实现都只能对备份数据定时做快照,快照的数量是有限的,恢复时只能恢复到某个快照点,而无法恢复到任意“连续”的时间点。
成本较高,如前面所述,由于对带宽、备份设备存储空间、性能等有较高要求,而且兼容性不好导致需要对每个操作系统及版本进行单独开发和维护,总体成本较高。
众所周知,数据库的事务需要保证ACID(Atomicity,Consistency,Isolation,Durability)特性。为了实现这一目标的同时保证IO的效率,主流数据库均使用WAL(WriteAhead Logging)的方式提交事务。具体地说,就是提交事务时,数据库管理系统先将事务执行的操作以线性的方式记录到事务日志中,并把事务日志写入磁盘,而事务对数据文件修改产生的修改数据仍保留在内存中(在以后合适的时间再写入磁盘)。通常该过程的IO数据量较小,所以既保证了事务的持久性,又不会对数据库性能造成明显的影响。当发生系统故障后,数据库管理系统使用事务日志对未写入磁盘的缓存数据进行重做,保证了数据的一致性。
在这个过程中,事务日志起了一个关键作用,这意味着实时备份数据库的事务日志即可实现对数据库的实时保护。
发明内容
本发明正是针对现有技术存在的不足,提供了一种数据库实时备份方法。
为解决上述问题,本发明所采取的技术方案如下:
一种数据库实时备份方法,通过以下模块实现:
A、事务日志监控;
该模块通过操作系统通知方式或轮循方式实时监控数据库事务日志的变化,只要数据库管理系统往事务日志中写入事务信息,该模块即可立即通知事务日志分析模块;
在提供文件改变通知机制的操作系统上,通过获取系统通知的方式监控事务日志的变化,在其它系统上,通过轮循文件内容的方式检测事务日志的变化,无论采用哪种方式,都是基于操作系统之上的,因此不需要任何额外的硬件或驱动程序的支持,对操作系统没有任何影响;
B、事务日志分析;
得到监控模块通知后,该模块通过解析事务日志内容,捕获新写入的事务数据,捕获到的事务数据将由传输模块发送到备份设备进行存储;
由于不同数据库的事务日志格式不同,该模块需要对每种数据库类型进行单独处理;
C、传输模块;
将接收到的事务数据发送到备份设备,备份设备是存储设备或备份服务器;
D、恢复模块;
在数据库出现故障后,该模块能够从备份设备中读取备份的事务数据,并结合传统备份,将数据库恢复到故障发生前的任意时间点,精确到每一个事务。
本发明与现有技术相比较,本发明的实施效果如下:
本发明提供的一种数据库实时备份方法,具有以下优点:
1、细粒度监控及备份。
只监控数据库的事务日志,只备份事务日志变化的内容。相对CDP监控及备份整个卷的变化数据,连续日志备份的备份粒度小了一个数量级以上,无论对业务系统、备份设备,还是对网络带宽,都几乎没有任何压力。
2、稳定可靠。
如前文所述,对事务日志的监控基于操作系统之上,不需要额外的硬件或驱动程序支持,不会对操作系统产生致命的影响。即使极端情况下软件进程出现崩溃,也不会对业务系统有任何影响。
3、兼容性好。
只使用操作系统提供的通知机制或通用的文件操作接口进行监控,可普遍适用于各种操作系统及版本,并且兼容未来的操作系统版本。
4、实现真正的“连续”保护。
由于实时备份了事务日志,并且通过数据库本身提供的恢复接口重做事务达到恢复的目的,因此可以恢复到故障发生前的任意时间点,精确到每一个事务。
5、高效率低成本。
不需要额外硬件,不需要开发和维护驱动程序,对备份设备和带宽没有特别的要求。普通的软硬件成本即可高效地实现对高性能要求的数据库的实时备份。
附图说明
图1为本发明提供的一种数据库实时备份方法的流程图。
具体实施方式
下面将结合具体的实施例和附图来说明本发明的内容。
请参阅图1,图1为本发明提供的一种数据库实时备份方法的流程图。
一种数据库实时备份方法,通过以下模块实现:
A、事务日志监控;
该模块通过操作系统通知方式或轮循方式实时监控数据库事务日志的变化,只要数据库管理系统往事务日志中写入事务信息,该模块即可立即通知事务日志分析模块;
在提供文件改变通知机制的操作系统上,通过获取系统通知的方式监控事务日志的变化,在其它系统上,通过轮循文件内容的方式检测事务日志的变化,无论采用哪种方式,都是基于操作系统之上的,因此不需要任何额外的硬件或驱动程序的支持,对操作系统没有任何影响;
B、事务日志分析;
得到监控模块通知后,该模块通过解析事务日志内容,捕获新写入的事务数据,捕获到的事务数据将由传输模块发送到备份设备进行存储;
由于不同数据库的事务日志格式不同,该模块需要对每种数据库类型进行单独处理,例如Oracle使用固定块大小的方式循环写多个在线日志,而SQL Server在事务日志文件中包含多个VLF(Virtual Log Files)的方式,MySQL则采用连续写二进制日志的方式。
C、传输模块;
将接收到的事务数据发送到备份设备,备份设备是存储设备或备份服务器;
D、恢复模块;
在数据库出现故障后,该模块能够从备份设备中读取备份的事务数据,并结合传统备份,将数据库恢复到故障发生前的任意时间点,精确到每一个事务。
本发明提供的一种数据库实时备份方法,具有以下优点:
1、细粒度监控及备份。
只监控数据库的事务日志,只备份事务日志变化的内容。相对CDP监控及备份整个卷的变化数据,连续日志备份的备份粒度小了一个数量级以上,无论对业务系统、备份设备,还是对网络带宽,都几乎没有任何压力。
2、稳定可靠。
如前文所述,对事务日志的监控基于操作系统之上,不需要额外的硬件或驱动程序支持,不会对操作系统产生致命的影响。即使极端情况下软件进程出现崩溃,也不会对业务系统有任何影响。
3、兼容性好。
只使用操作系统提供的通知机制或通用的文件操作接口进行监控,可普遍适用于各种操作系统及版本,并且兼容未来的操作系统版本。
4、实现真正的“连续”保护。
由于实时备份了事务日志,并且通过数据库本身提供的恢复接口重做事务达到恢复的目的,因此可以恢复到故障发生前的任意时间点,精确到每一个事务。
5、高效率低成本。
不需要额外硬件,不需要开发和维护驱动程序,对备份设备和带宽没有特别的要求。普通的软硬件成本即可高效地实现对高性能要求的数据库的实时备份。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种数据库实时备份方法,其特征在于:通过以下模块实现:
A、事务日志监控;
该模块通过操作系统通知方式或轮循方式实时监控数据库事务日志的变化,只要数据库管理系统往事务日志中写入事务信息,该模块即可立即通知事务日志分析模块;
在提供文件改变通知机制的操作系统上,通过获取系统通知的方式监控事务日志的变化,在其它系统上,通过轮循文件内容的方式检测事务日志的变化,无论采用哪种方式,都是基于操作系统之上的,因此不需要任何额外的硬件或驱动程序的支持,对操作系统没有任何影响;
B、事务日志分析;
得到监控模块通知后,该模块通过解析事务日志内容,捕获新写入的事务数据,捕获到的事务数据将由传输模块发送到备份设备进行存储;
由于不同数据库的事务日志格式不同,该模块需要对每种数据库类型进行单独处理;
C、传输模块;
将接收到的事务数据发送到备份设备,备份设备是存储设备或备份服务器;
D、恢复模块;
在数据库出现故障后,该模块能够从备份设备中读取备份的事务数据,并结合传统备份,将数据库恢复到故障发生前的任意时间点,精确到每一个事务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710397744.5A CN107229537A (zh) | 2017-05-31 | 2017-05-31 | 一种数据库实时备份方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710397744.5A CN107229537A (zh) | 2017-05-31 | 2017-05-31 | 一种数据库实时备份方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107229537A true CN107229537A (zh) | 2017-10-03 |
Family
ID=59934486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710397744.5A Pending CN107229537A (zh) | 2017-05-31 | 2017-05-31 | 一种数据库实时备份方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107229537A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144790A (zh) * | 2018-09-30 | 2019-01-04 | 广州鼎甲计算机科技有限公司 | MySQL数据库的合成备份方法和装置 |
CN109298978A (zh) * | 2018-11-14 | 2019-02-01 | 武汉烽火信息集成技术有限公司 | 一种指定位置的数据库集群的恢复方法及系统 |
CN109710453A (zh) * | 2017-10-26 | 2019-05-03 | 深圳市沃土科技有限公司 | 一种连续数据保存方法 |
CN111078493A (zh) * | 2019-11-25 | 2020-04-28 | 北京天元创新科技有限公司 | 一种数据库监视系统 |
CN111611107A (zh) * | 2020-05-21 | 2020-09-01 | 云和恩墨(北京)信息技术有限公司 | 获取数据库日志的方法及装置 |
CN113434339A (zh) * | 2021-06-29 | 2021-09-24 | 湖南方心科技股份有限公司 | 一种智能计算中心基于组合循环备份的数据加密传输系统与方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101251814A (zh) * | 2008-02-04 | 2008-08-27 | 浙江大学 | 一种在操作系统中实现可信恢复系统的方法 |
CN101719165A (zh) * | 2010-01-12 | 2010-06-02 | 山东高效能服务器和存储研究院 | 一种实现数据库高效快速备份的方法 |
CN103345470A (zh) * | 2013-05-31 | 2013-10-09 | 深圳市沃信科技有限公司 | 一种数据库容灾方法、系统及服务器 |
CN103942252A (zh) * | 2014-03-17 | 2014-07-23 | 华为技术有限公司 | 一种恢复数据的方法及系统 |
US20160132398A1 (en) * | 2014-11-11 | 2016-05-12 | International Business Machines Corporation | Implementing change data capture by interpreting published events as a database recovery log |
-
2017
- 2017-05-31 CN CN201710397744.5A patent/CN107229537A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101251814A (zh) * | 2008-02-04 | 2008-08-27 | 浙江大学 | 一种在操作系统中实现可信恢复系统的方法 |
CN101719165A (zh) * | 2010-01-12 | 2010-06-02 | 山东高效能服务器和存储研究院 | 一种实现数据库高效快速备份的方法 |
CN103345470A (zh) * | 2013-05-31 | 2013-10-09 | 深圳市沃信科技有限公司 | 一种数据库容灾方法、系统及服务器 |
CN103942252A (zh) * | 2014-03-17 | 2014-07-23 | 华为技术有限公司 | 一种恢复数据的方法及系统 |
US20160132398A1 (en) * | 2014-11-11 | 2016-05-12 | International Business Machines Corporation | Implementing change data capture by interpreting published events as a database recovery log |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710453A (zh) * | 2017-10-26 | 2019-05-03 | 深圳市沃土科技有限公司 | 一种连续数据保存方法 |
CN109144790A (zh) * | 2018-09-30 | 2019-01-04 | 广州鼎甲计算机科技有限公司 | MySQL数据库的合成备份方法和装置 |
CN109298978A (zh) * | 2018-11-14 | 2019-02-01 | 武汉烽火信息集成技术有限公司 | 一种指定位置的数据库集群的恢复方法及系统 |
CN109298978B (zh) * | 2018-11-14 | 2021-07-20 | 武汉烽火信息集成技术有限公司 | 一种指定位置的数据库集群的恢复方法及系统 |
CN111078493A (zh) * | 2019-11-25 | 2020-04-28 | 北京天元创新科技有限公司 | 一种数据库监视系统 |
CN111078493B (zh) * | 2019-11-25 | 2023-06-23 | 北京天元创新科技有限公司 | 一种数据库监视系统 |
CN111611107A (zh) * | 2020-05-21 | 2020-09-01 | 云和恩墨(北京)信息技术有限公司 | 获取数据库日志的方法及装置 |
CN113434339A (zh) * | 2021-06-29 | 2021-09-24 | 湖南方心科技股份有限公司 | 一种智能计算中心基于组合循环备份的数据加密传输系统与方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107229537A (zh) | 一种数据库实时备份方法 | |
US8527459B2 (en) | System and method for data replication between heterogeneous databases | |
US9785514B1 (en) | Techniques for file system recovery | |
US9760453B2 (en) | Two-tier failover service for data disaster recovery | |
CN103516736A (zh) | 分布式缓存系统的数据恢复方法及装置 | |
CN101582076A (zh) | 一种基于数据库的重复数据删除方法 | |
CN104933114A (zh) | 一种海量日志管理云平台 | |
EP1787200A2 (en) | System and method for variable block logging with log-ahead buffers | |
CN102567185B (zh) | 一种应用服务器的监控方法 | |
CN104239444B (zh) | Oracle数据库用的一致性数据保护与捕获一致性状态的方法 | |
WO2012083754A1 (zh) | 处理脏数据的方法及装置 | |
CN103226598A (zh) | 访问数据库的方法和装置以及数据库管理系统 | |
US9798761B2 (en) | Apparatus and method for fsync system call processing using ordered mode journaling with file unit | |
US20180032567A1 (en) | Method and device for processing data blocks in a distributed database | |
CN106095330B (zh) | 一种元数据的存储方法和装置 | |
CN107291881A (zh) | 基于HBase的海量日志存储和查询方法 | |
CN111753015B (zh) | 支付清算系统的数据查询方法及装置 | |
CN107402841B (zh) | 大规模分布式文件系统数据修复方法及设备 | |
CN102339305B (zh) | 基于偏序关系日志的数据库集群故障恢复方法 | |
US20160055211A1 (en) | Apparatus and method for memory storage and analytic execution of time series data | |
CN107436826B (zh) | 一种冷数据处理方法及终端 | |
CN116126935A (zh) | 一种试验数据分布式存储系统及存储方法 | |
CN101667195A (zh) | 一种多用户数据库存储系统和方法 | |
CN113536034A (zh) | 一种基于布隆过滤器的数据写入方法和数据读取方法 | |
CN111061594A (zh) | 一种基于日志逻辑解析的关系型数据库数据复制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171003 |