Geographically distributed clusters
First Claim
1. A method for mirroring data between a plurality of sites, comprising:
- maintaining, at a first site of the plurality of sites, a record that identifies which transactions that have been executed at the first site have had their redo information replicated to the other sites of the plurality of sites;
determining a priority value associated with a transaction that is to be performed at the first site, wherein the transaction specifies a modification to a data block;
if the priority value is a first value in a set of possible values, then committing the transaction only after the record indicates that redo information associated with the transaction has been replicated to the other sites of the plurality of sites; and
if the priority value is a second value in said set of possible values, then committing the transaction even though the record does not indicate that redo information associated with the transaction has been replicated to the other sites of the plurality of sites.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for mirroring data between a plurality of sites is provided. At a first site of the plurality of sites, a record is maintained that identifies which changes made to one or more data blocks that are stored at the first site have had associated redo information replicated to the other sites of the plurality of sites. A priority value associated with a transaction that is to be performed at the first site is determined. The transaction specifies a modification to a data block. Thereafter, if the priority value indicates that the transaction should not be lost if the first site becomes inoperable, then the transaction is committed only after the record indicates that all other changes that have updated the data block at the first site have had their respective redo information replicated to the other sites of the plurality of sites.
25 Citations
56 Claims
-
1. A method for mirroring data between a plurality of sites, comprising:
-
maintaining, at a first site of the plurality of sites, a record that identifies which transactions that have been executed at the first site have had their redo information replicated to the other sites of the plurality of sites; determining a priority value associated with a transaction that is to be performed at the first site, wherein the transaction specifies a modification to a data block; if the priority value is a first value in a set of possible values, then committing the transaction only after the record indicates that redo information associated with the transaction has been replicated to the other sites of the plurality of sites; and if the priority value is a second value in said set of possible values, then committing the transaction even though the record does not indicate that redo information associated with the transaction has been replicated to the other sites of the plurality of sites. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for storing data, comprising:
-
at a first site in a plurality of sites, processing a transaction; generating in volatile memory redo information for the processed transaction; delaying storing the redo information to durable storage as long as (1) a data block associated with the processed transaction is not durably stored and (2) the data block is not transferred to another site of the plurality of sites; and storing the redo information to the durable storage in response to detecting that (1) the data block is about to be durably stored or (2) the data block is about to be transferred to another site of the plurality of sites. - View Dependent Claims (14, 15)
-
-
16. A method for mirroring data between a plurality of sites, comprising:
-
maintaining, at a first site of the plurality of sites, a record that identifies which changes made to one or more data blocks stored at the first site have had associated redo information replicated to the other sites of the plurality of sites, wherein the first site implements a write-ahead logging scheme; determining if the first site replicates, to the other sites of the plurality of sites, write transactions that are executed at the first site in the order in which the write transactions were issued; and if the first site does not replicate, to the other sites of the plurality of sites, write transactions that are executed at the first site in the order in which the write transactions were issued, then durably storing a data block, in the one or more data blocks, associated with a transaction only after the record indicates that any write transactions that have updated the data block at the first site have had their respective redo information replicated to the other sites of the plurality of sites. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. A method for minoring data between a plurality of sites, wherein the plurality of sites includes a first site, comprising:
-
at the first site, durably storing a data block prior to durably storing redo information about changes made to the data block; and at the first site, durably storing the redo information after the changes have been replicated to the other sites in the plurality of sites. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A machine-readable medium carrying one or more sequences of instructions for mirroring data between a plurality of sites, wherein the machine-readable medium is one of a volatile medium or a non-volatile medium, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
maintaining, at a first site of the plurality of sites, a record that identifies which transactions that have been executed at the first site have had their redo information replicated to the other sites of the plurality of sites; determining a priority value associated with a transaction that is to be performed at the first site, wherein the transaction specifies a modification to a data block; if the priority value is a first value in a set of possible values, then committing the transaction only after the record indicates that redo information associated with the transaction has been replicated to the other sites of the plurality of sites; and if the priority value is a second value in said set of possible values, then committing the transaction even though the record does not indicate that redo information associated with the transaction has been replicated to the other sites of the plurality of sites. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A machine-readable medium carrying one or more sequences of instructions for storing data, wherein the machine-readable medium is one of a volatile medium or a non-volatile medium, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
at a first site in a plurality of sites, processing a transaction; generating in volatile memory redo information for the processed transaction; delaying storing the redo information to durable storage as long as (1) a data block associated with the processed transaction is not durably stored and (2) the data block is not transferred to another site of the plurality of sites; and storing the redo information to the durable storage in response to detecting that (1) the data block is about to be durably stored or (2) the data block is about to be transferred to another site of the plurality of sites. - View Dependent Claims (42, 43)
-
-
44. A machine-readable medium carrying one or more sequences of instructions for mirroring data between a plurality of sites, wherein the machine-readable medium is one of a volatile medium or a non-volatile medium, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
maintaining, at a first site of the plurality of sites, a record that identifies which changes made to one or more data blocks stored at the first site have had associated redo information replicated to the other sites of the plurality of sites, wherein the first site implements a write-ahead logging scheme; determining if the first site replicates, to the other sites of the plurality of sites, write transactions that are executed at the first site in the order in which the write transactions were issued; and if the first site does not replicate, to the other sites of the plurality of sites, write transactions that are executed at the first site in the order in which the write transactions were issued, then durably storing a data block, in the one or more data blocks, associated with a transaction only after the record indicates that any write transactions that have updated the data block at the first site have had their respective redo information replicated to the other sites of the plurality of sites. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51)
-
-
52. A machine-readable medium carrying one or more sequences of instructions for mirroring data between a plurality of sites, wherein the plurality of sites includes a first site, wherein the machine-readable medium is one of a volatile medium or a non-volatile medium, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
at the first site, durably storing a data block prior to durably storing redo information about changes made to the data block; and at the first site, durably storing the redo information after the changes have been replicated to the other sites in the plurality of sites. - View Dependent Claims (53, 54, 55, 56)
-
Specification