System and method for replicating data in distributed database systems

US11106541B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11106541-B2
Application numberUS-201916355521-A
CountryUS
Kind codeB2
Filing dateMar 15, 2019
Priority dateMar 15, 2019
Publication dateAug 31, 2021
Grant dateAug 31, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method includes receiving an indication of a change to a page of a database and adding a new log record corresponding to the page to a common log comprising log records, the new log record describing the change made to the page and assigned a distinct version number. The method further includes synchronously writing the new log record to each log store replica in a set of log store replicas, and asynchronously writing the new log record to all page store replicas for the page to update the page that is stored on each of the page store replicas, where each store replica for the page serves reads for the page. In response to receiving, from a predetermined number of the page store replicas, an acknowledgement of the writing of the log record, discarding the new log record from the common log.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving an indication of a change to a page of a database; adding a new log record corresponding to the page to a common log comprising log records, the new log record describing the change made to the page and assigned a distinct version number; synchronously writing the new log record to each log store replica in a set of log store replicas; asynchronously writing the new log record to all page store replicas for the page to update the page that is stored on each of the page store replicas, wherein the page store replica for the page serve reads for the page; and in response to receiving, from a predetermined number of the page store replicas, an acknowledgement of the writing of the log record, discarding the new log record from the common log. 2. The method of claim 1 , wherein the log store replicas and the page store replicas are at different storage nodes and the storage nodes are at different availability zones. 3. The method of claim 1 , wherein the number of log store replicas in the set of log store replicas is the same as the number of page store replicas. 4. The method of claim 1 , wherein the number of log store replicas in the set of log store replicas is the different than the number of page store replicas. 5. The method of claim 4 , wherein the availability zones are associated with different geographical locations. 6. The method of claim 1 , wherein the set of log store replicas comprises at least three log store replicas at different availability zones. 7. The method of claim 1 , wherein asynchronously writing the new log record to all the page store replicas for the page comprises sending a write request to a first page store replica of the page store replicas, receiving an acknowledgement acknowledging the write request, and sending an instruction to the first page store replica to allow a peer-to-peer gossip protocol to be used between the first page store replica and a second page store replica to copy the new log record to the second page store replica. 8. The method of claim 1 , further comprising: reading the page, wherein the reading comprises selecting a page store replica of the page store replicas and reading the page from the selected page store replica. 9. The method of claim 8 , wherein selecting the page store replicas comprises determining a requested logical sequence number associated with the reading of the page and selecting the page store replica based on a logical sequence number acknowledged by the selected page store replica. 10. The method of claim 1 , further comprising: detecting a failure of a page store replica for the page of the page store replicas; and performing a recovery operation in response to detecting the failure, wherein performing the recovery operation comprises: creating a new page store replica for the page to replace the failed page store replica. 11. The method of claim 10 , wherein creating the new page store replica for the page comprises enabling the new page store replica for the page and at least one other page store replicas to use a peer-to-peer replication protocol to copy pages from the at least one other page store replica for the page to the new page store replica for the page. 12. The method of claim 1 , further comprising: detecting a cascading failure of multiple page store replicas of the page store replicas; and performing a recovery operation in response to the detected cascading failure, wherein performing the recovery operation comprises: identifying a set of log records in the common log corresponding to the page subject to the cascading failure; reading the set of identified log records from the common log; and writing the set of identified log records to the multiple page store replicas. 13. The method of claim 12 , wherein detecting the cascading failure comprises determining: determining a given page store replica of the page store replicas previously acknowledged the writing of a log record corresponding to the page; and determining none of the other page store replicas are currently acknowledge writing of the new log record corresponding to the page. 14. The method of claim 1 , further comprising: detecting a failure of a log store replica in the set of log store replicas; selecting a new set of log store replicas; and synchronously writing the new log record to each log store replica in a set of log store replicas. 15. The method of claim 1 , further comprising: determining the number of log store replicas in the set of log store replicas based on a first replication policy for log stores; and determining the number of the all page store replicas for the page based on a second replication policy for page stores, wherein the second replication policy is different from the second replication policy. 16. A non-transitory machine readable storage medium to store instructions that, when executed by a machine, cause the machine to: receive an indication of a change to a page of a database; adding a new log record corresponding to the page to a common log comprising log records, the new log record describing the change made to the page and assigned a distinct version number; synchronously write the new log record to each log store replica in a set of log store replicas; asynchronously write the new log record to all page store replicas for the page to update the page that is stored on each of the page store replicas, wherein the page store replicas for the page serve reads for the page; and in response to receipt, from a predetermined number of page store replicas of the page store replicas, an acknowledgement of the writing of the log record, discarding the new log record from the common log. 17. An apparatus comprising: a processor; and a memory to store instructions that, when executed by the processor, cause the processor to: receive an indication of a change to a page of a database; adding a new log record corresponding to the page to a common log comprising log records, the new log record describing the change made to the page and assigned a distinct version number; synchronously write the new log record to each log store replica in a set of log store replicas; asynchronously write the new log record to all page store replicas for the page to update the page that is stored on each of the page store replicas, wherein the page store replicas for the page serve reads for the page; and in response to receipt, from a predetermined number of page store replicas of the page store replicas, an acknowledgement of the writing of the log record, discarding the new log record from the common log. 18. The apparatus of claim 17 , wherein the instructions, when executed by the processor, cause the processor to: detect a failure of a page store replica for the page of the page store replicas; and perform a recovery operation in response to detecting the failure, wherein performing the recovery operation comprises: create a new page store replica for the page to replace the failed page store replica. 19. The apparatus of claim 18 , wherein the instructions, when executed by the processor, cause the processor to: create the new page store replica for the page by enabling the new page store replica for the page and at least one other page store replica to use a peer-to-peer replication protocol to copy log records from the at least one other page store replica for the page to the new page store replica for the page. 20. The apparatus of claim 17

Assignees

Inventors

Classifications

  • Change logging, detection, and notification (replication G06F16/27) · CPC title

  • Solving problems relating to consistency · CPC title

  • by selection of backup contents · CPC title

  • Asynchronous replication or reconciliation · CPC title

  • Backup restoration techniques · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11106541B2 cover?
A method includes receiving an indication of a change to a page of a database and adding a new log record corresponding to the page to a common log comprising log records, the new log record describing the change made to the page and assigned a distinct version number. The method further includes synchronously writing the new log record to each log store replica in a set of log store replicas, …
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F11/1451. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 31 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).