US2009144338A1PendingUtilityA1

Asynchronously replicated database system using dynamic mastership

44
Assignee: YAHOO INCPriority: Nov 30, 2007Filed: Nov 30, 2007Published: Jun 4, 2009
Est. expiryNov 30, 2027(~1.4 yrs left)· nominal 20-yr term from priority
G06F 16/273
44
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system for a distributed database implementing a dynamic mastership strategy. The system includes a multiple data centers, each having a storage unit to store a set of records. Each data center stores its own replica of the set of records and each record includes a field that indicates which data center is assigned to be the master for that record. Since each of the data centers can he geographically distributed, one record may be more efficiently edited with the master being one geographic region while another record, possibly belonging to a different user, may be more efficiently edited with the master being located in another geographic region.

Claims

exact text as granted — not AI-modified
1 . A database system using dynamic mastership, the system comprising:
 a plurality of date centers, each data center comprising a storage unit configured to store a set of records, wherein each data center includes a replica of the set of records;   each record of the set of records having a field indicating a data center of the plurality of data centers assigned to be master for that record.   
   
   
       2 . The system according to  claim 1 , wherein the data centers are geographically distributed. 
   
   
       3 . The system according to  claim 2 , wherein each replica includes a master replica field indicating a datacenter designated as a master replica. 
   
   
       4 . The system according to  claim 1 , wherein the storage unit for a data center of the plurality of data centers comprises a plurality of tablets, and the set of records is distributed between the plurality of tablets. 
   
   
       5 . The system according to  claim 4 , wherein each tablet includes a master tablet field indicating a datacenter assigned as a master tablet for that tablet. 
   
   
       6 . The system according to  claim 4 , further comprising a router configured to determine a tablet of the plurality of tablets containing a record based on a record key assigned to each record of the set of records. 
   
   
       7 . The system according to  claim 1 , wherein the storage unit is configured to read a sequence number stored in the record and increment the sequence number. 
   
   
       8 . The system according to  claim 7 , wherein the storage unit publishes the update and sequence number to a transaction bank within the data center local to the storage unit. 
   
   
       9 . The system according to  claim 8 , wherein the storage unit writes the update into storage based on confirmation that the update is published. 
   
   
       10 . The system according to  claim 1 , wherein the storage unit is configured to receive an update for a record and determine if the data center for the storage unit is assigned as master for the record, the storage unit being configured to forward the update to another data center of the plurality of data centers that is assigned as master for the record, if the storage unit determines that the data center is not assigned as master for the record. 
   
   
       11 . The system according to  claim 10 , wherein the storage unit is configured to forward the update and sequence number to the other data center. 
   
   
       12 . The system according to  claim 11 , wherein another storage unit in the other data center is configured to publish the update to a transaction bank of the other data center. 
   
   
       13 . The system according to  claim 12 , wherein the storage unit is configured to write the update after receiving confirmation that the update is published to the transaction bank. 
   
   
       14 . The system according to  claim 13 , wherein the transaction bank is configured to asynchronously update each replica for the record within each data center. 
   
   
       15 . The system according to  claim 14 , wherein the transaction bank also writes the sequence number along with the update to each data center. 
   
   
       16 . The system according to  claim 1 , wherein the storage unit tracks the number of writes to a record that are initiated at each data center and updates which data center of the plurality of data centers is assigned as the master for the record based on a frequency of access from the plurality of data centers. 
   
   
       17 . The system according to  claim 15 , wherein the storage unit is configured to update which data center is assigned as master for the record if a data center exceeds a threshold number of writes to the record. 
   
   
       18 . The system according to  claim 1 , wherein the storage unit is configured to receive a critical read request, determine the data center assigned as master for the record, and forward the critical read request to the data center assigned as master for the record instead of serving the critical read request locally by the storage unit. 
   
   
       19 . A system for maintaining a database, the system comprising:
 a plurality of data centers that are geographically distributed, each data center comprising a storage unit configured to store a set of records, wherein each data center includes a replica of the set of records, wherein the storage unit for a data center of the plurality of data centers comprises a plurality of tablets, and the set of records is distributed between the plurality of tablets, each tablet including a master tablet field assigning a datacenter as master for that tablet;   a router configured to determine a tablet of the plurality of tablets containing a record based on a record key assigned to each record of the set of records;   each record of the set of records having a field indicating a data center of the plurality of data centers assigned to be master for that record.   
   
   
       20 . The system according to  claim 19 , wherein the storage unit is configured to receive an update for a record and determine if the data center for the storage unit is assigned as master for the record, the storage unit being configured to forward the update and a sequence number to another data center of the plurality of data centers that is assigned as master for the record, if the storage unit determines that the data center is not assigned as master for the record. 
   
   
       21 . The system according to  claim 20 , wherein another storage unit in the other data center is configured to publish the update to a transaction bank of the other data center and write the update after receiving confirmation that the update is published to the transaction bank, the transaction bank being configured to asynchronously update each replica for the record within each data center. 
   
   
       22 . The system according to  claim 19 , wherein the storage unit tracks the number of writes to a record that are initiated at each data center and updates which data center of the plurality of data centers is assigned as the master for the record if a data center exceeds a threshold number of writes to the record.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.