System and method of disaster recovery
First Claim
1. A log-based system for disaster recovery, the log-based system comprising:
- a primary database server maintaining a database in a primary storage, generating, by a processor, log records describing modifications of the database, storing the log records in a log file formed in the primary storage, and transferring the log records to a secondary storage in which a remote copy of the log file is stored; and
a secondary database server storing a remote copy of the database in the secondary storage and maintaining the remote copy of the database according to the log records stored in the remote copy of the log file, the secondary database server including a log apply component and a search component whereinthe log apply component includes a log application unit applying the modifications described in the log records to the remote copy of the database stored in the secondary storage by sequentially reading out the log records from the remote copy of the log file,the search component receives a request for a search of the remote copy of the database stored in the secondary storage and accessing the remote copy of the database to perform the search upon suspension of the log application unit, andthe log apply component includes a judge unit monitoring a progress condition of application of the modifications to the remote copy of the database by the log application unit based on the log record being generated by the primary database server and suspending operation of the log application unit upon recognizing that the progress condition is acceptable to thereby permit the search component to access the remote copy of the database to perform the search,wherein the search component issues the request for the search to the judge unitwherein the judge unit monitors the progress condition upon receiving the request for the search from the search component,wherein the judge unit, upon recognizing that the progress condition is acceptable, ensures that the remote copy of the database is in a state in which consistency will be attained, calculates a suspend time period during which the log application unit is permitted to be suspended, and suspends the log application unit for the suspend time period to thereby permit the search component to access the remote copy of the database to perform the search,wherein the judge unit restarts the log application unit upon completion of the search by the search component or stops the search and restarts the log application unit upon expiration of the suspend time period,wherein the judge unit monitors the progress condition of the log application unit by calculating an application delay ratio according to a most recent modification applied to the remote copy of the database by the log application unit and a most recent log record stored in the log file, andwherein the judge unit recognizes that the progress condition of the log application unit is acceptable when the application delay ratio is less than a predetermined threshold.
1 Assignment
0 Petitions
Accused Products
Abstract
In a DR system, from the viewpoint of device cost, when search is not carried out, a physical application where log recovery is available by inexpensive DB appliance server is adopted. Further, a local mirror operation at a secondary site is not carried out. Furthermore, from the viewpoint of operation, by a log apply function unit, the tendencies of a log application and operations are monitored, and a search process is accepted according to the progress conditions of the log application. When the log application does not catch up sufficiently, the search is not accepted. Moreover, when a consistency guarantee of a secondary DB is made, not transactions in process at the moment of search instruction are undone (rolled back), but only transactions in process at the moment of a search instruction are redone (rolled forward).
47 Citations
18 Claims
-
1. A log-based system for disaster recovery, the log-based system comprising:
-
a primary database server maintaining a database in a primary storage, generating, by a processor, log records describing modifications of the database, storing the log records in a log file formed in the primary storage, and transferring the log records to a secondary storage in which a remote copy of the log file is stored; and a secondary database server storing a remote copy of the database in the secondary storage and maintaining the remote copy of the database according to the log records stored in the remote copy of the log file, the secondary database server including a log apply component and a search component wherein the log apply component includes a log application unit applying the modifications described in the log records to the remote copy of the database stored in the secondary storage by sequentially reading out the log records from the remote copy of the log file, the search component receives a request for a search of the remote copy of the database stored in the secondary storage and accessing the remote copy of the database to perform the search upon suspension of the log application unit, and the log apply component includes a judge unit monitoring a progress condition of application of the modifications to the remote copy of the database by the log application unit based on the log record being generated by the primary database server and suspending operation of the log application unit upon recognizing that the progress condition is acceptable to thereby permit the search component to access the remote copy of the database to perform the search, wherein the search component issues the request for the search to the judge unit wherein the judge unit monitors the progress condition upon receiving the request for the search from the search component, wherein the judge unit, upon recognizing that the progress condition is acceptable, ensures that the remote copy of the database is in a state in which consistency will be attained, calculates a suspend time period during which the log application unit is permitted to be suspended, and suspends the log application unit for the suspend time period to thereby permit the search component to access the remote copy of the database to perform the search, wherein the judge unit restarts the log application unit upon completion of the search by the search component or stops the search and restarts the log application unit upon expiration of the suspend time period, wherein the judge unit monitors the progress condition of the log application unit by calculating an application delay ratio according to a most recent modification applied to the remote copy of the database by the log application unit and a most recent log record stored in the log file, and wherein the judge unit recognizes that the progress condition of the log application unit is acceptable when the application delay ratio is less than a predetermined threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method of log-based disaster recovery for a system in which a database is maintained in a primary storage by a first database server and a remote copy of the database is maintained in a secondary storage by a secondary database server, the method comprising:
-
generating log records describing modifications of the database; storing the log records in a log file formed in the primary storage; transferring the log records to a secondary storage in which a remote copy of the log file is stored; applying the modifications described in the log records to the remote copy of the database stored in the secondary storage by sequentially reading out the log records from the remote copy of the log file; receiving a request for a search of the remote copy of the database;
judging a progress condition of application of the modifications to the remote copy of the database based on the generated log records stored in the log file formed in the primary storage upon the receiving the request for the search to determine whether the progress condition is acceptable for performing the search;suspending application of the modifications to the remote copy of the database upon recognizing that the progress condition is acceptable for performing the search; and accessing the remote copy of the database to perform the search suspension of the application of the modifications to the remote copy of the database, wherein suspending application of the modifications to the remote copy of the database comprises ensuring that the remote copy of the database is in a state in which consistency will be attained, calculating a suspend time period during which application of the modifications to the remote copy of the database is permitted to be suspended, and suspending application of the modifications to the remote copy of the database for the suspend time period, and further comprising restarting application of the modifications to the remote copy of the database upon completion of the search or stopping performance of the search and restarting application of the modifications to the remote copy of the database upon expiration of the suspend time period; wherein judging the progress condition of application of the modifications to the remote copy of the database comprises calculating an application delay ratio according to a most recent modification applied to the remote copy of the database and a most recent log record stored in the log file and recognizing that the progress condition is acceptable when the application delay ratio is less than a predetermined threshold. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification