Zero-transaction-loss recovery for database systems
First Claim
1. A method, comprising:
- partitioning a software stack for processing storage commands, into first, second and third software components managed respectively by a database server at a primary site, by a secure storage unit at or adjacent to the primary site, the secure storage unit comprising a protection storage unit and a disaster-proof storage unit, and by a recovery system at a secondary site;
receiving, by the database server, a new database transaction comprising an update for a local database stored at the primary site;
storing the received database transaction to a secure log file in the disaster-proof unit using the first and the second software components, wherein using the first and the second software components comprises mapping the protection storage unit to the database server and mapping the disaster-proof storage unit comprising the secure log file to the protection storage unit; and
following a disaster occurring at the primary site, recovering, from the disaster-proof storage unit by the recovery system using the second and the third software components, the database transactions in the secure log files so as to synchronize a remote database to a most recent state of the local database prior to the failure, wherein using the second and the third software components comprises mapping the disaster-proof storage unit comprising the secure log file to the recovery system.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, storage facilities and computer software products implement embodiments of the present invention that include partitioning a software stack (140) into a first software component (141), a second software component (142) and a third software component (143) managed respectively by a primary host (26) at a primary site (22), by a secure storage unit (30) at or adjacent to the primary site, the secure storage unit including a protection storage unit (92) and a disaster-proof storage unit (94), and by a recovery system (34) at a secondary site (24). One or more files (90) are stored in the disaster-proof unit using the first and the second software components, and following a disaster occurring at the primary site, the files are recovered using the secure storage unit and the recovery system.
138 Citations
31 Claims
-
1. A method, comprising:
-
partitioning a software stack for processing storage commands, into first, second and third software components managed respectively by a database server at a primary site, by a secure storage unit at or adjacent to the primary site, the secure storage unit comprising a protection storage unit and a disaster-proof storage unit, and by a recovery system at a secondary site; receiving, by the database server, a new database transaction comprising an update for a local database stored at the primary site; storing the received database transaction to a secure log file in the disaster-proof unit using the first and the second software components, wherein using the first and the second software components comprises mapping the protection storage unit to the database server and mapping the disaster-proof storage unit comprising the secure log file to the protection storage unit; and following a disaster occurring at the primary site, recovering, from the disaster-proof storage unit by the recovery system using the second and the third software components, the database transactions in the secure log files so as to synchronize a remote database to a most recent state of the local database prior to the failure, wherein using the second and the third software components comprises mapping the disaster-proof storage unit comprising the secure log file to the recovery system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method, comprising:
-
partitioning a software stack into first, second and third software components managed respectively by a primary host at a primary site, by a secure storage unit at or adjacent to the primary site, the secure storage unit comprising a protection storage unit and a disaster-proof storage unit, and by a recovery system at a secondary site; storing one or more files in the disaster-proof unit using the first and the second software components; partitioning data managed by the software stack into first, second and third data components stored respectively on a primary storage system at the primary site, the disaster-proof storage unit, and a secondary storage system at the secondary site, the second data component comprising the one or more files, wherein the primary host comprises a database server, wherein the first data component comprises a local database and one or more local logs, and wherein the second data component comprises one or more secure logs, and wherein the third data component comprises a remote database and one or more remote logs; allocating a preselected amount of storage space in the disaster-proof storage unit for the one or more secure logs, and upon receiving a database transaction and detecting that the preselected amount of storage space is fully utilized, identifying a least recent database transaction in the one or more secure logs, deleting the identified database transaction from the one or more secure logs, and storing the received database transaction to the one or more secure logs; and following a disaster occurring at the primary site, recovering the files using the secure storage unit and the recovery system. - View Dependent Claims (12, 13, 14, 15, 16, 17, 20, 22)
-
-
18. A storage facility, comprising:
-
a primary storage system located at a primary site and configured to store a local database; a database server located at a primary site and configured to manage a first software component of a software stack; a secure storage unit at or adjacent to the primary site, the secure storage unit comprising a protection storage unit and a disaster-proof storage unit, and configured to manage a second software component of the software stack, and to store one or more files in the disaster-proof unit, wherein the database server is configured to receive a new database transaction comprising an update for the local database, and to store, using the first and the second software components, the received database transaction to a secure log file in the disaster-proof unit, wherein using the first and the second software components comprises mapping the protection storage unit to the database server and mapping the disaster-proof storage unit comprising the secure log file to the protection storage unit; and a recovery system at a secondary site and configured to manage a third software component of the software stack, and following a disaster occurring at the primary site, to recover from the disaster-proof storage using the second and the third software components, the database transactions in the secure log file so as to synchronize a remote database to a most recent state of the local database prior to the failure, wherein using the second and the third software components comprises mapping the disaster-proof storage unit comprising the secure log file to the recovery system. - View Dependent Claims (19, 21, 23, 24, 25, 26, 27)
-
-
28. A storage facility, comprising:
-
a primary host located at a primary site and configured to manage a first software component of a software stack; a primary storage system at the primary site configured to store a first data component of data managed by the software stack; a secure storage unit at or adjacent to the primary site, the secure storage unit comprising a protection storage unit and a disaster-proof storage unit, and configured to manage a second software component of the software stack, and to store one or more files in the disaster-proof unit, the disaster-proof storage unit configured to store a second data component of the data managed by the software stack, the second data component comprising the one or more files; a recovery system at a secondary site and configured to manage a third software component of the software stack, and following a disaster occurring at the primary site, to recover the files stored in the disaster-proof storage unit; and a secondary storage unit at the secondary site configured to store a third data component of the data managed by the software stack; wherein the primary host comprises a database server system, and wherein the first data component comprises a local database and one or more local logs, and wherein the second data component comprises one or more secure logs, and wherein the third data component comprises a remote database and one or more remote logs; and wherein the disaster-proof storage unit comprises a secure processor and a secure memory, and wherein the secure processor is configured to allocate a preselected amount of storage space in the secure memory storage unit for the one or more secure logs, and upon receiving a database transaction and detecting that the preselected amount of storage space is fully utilized, to identify a least recent database transaction in the one or more secure logs, to delete the identified database transaction from the one or more secure logs, and to store the received database transaction to the one or more secure logs. - View Dependent Claims (29, 30)
-
-
31. A computer software product, the product comprising a non-transitory computer-readable medium, in which program instructions are stored, which instructions, when read by a computer, cause the computer:
-
to partition, in a storage facility, a software stack for processing storage commands, into first, second and third software components managed respectively by a database server at a primary site, by a secure storage unit at or adjacent to the primary site, the secure storage unit comprising a protection storage unit and a disaster-proof storage unit, and by a recovery system at a secondary site; to receive, by the database server, a new database transaction comprising an update for a local database stored at the primary site; to store the received database transaction to a secure log file in the disaster-proof unit using the first and the second software components, wherein using the first and the second software components comprises mapping the protection storage unit to the database server and mapping the disaster-proof storage unit comprising the secure log file to the protection storage unit; and following a disaster occurring at the primary site, to recover, from the disaster-proof storage unit by the recovery system using the second and the third software components, the database transactions in the secure log file so as to synchronize a remote database to a most recent state of the local database prior to the failure, wherein using the second and the third software components comprises mapping the disaster-proof storage unit comprising the secure log file to the recovery system.
-
Specification