Efficient replication of system transactions for read-only nodes of a distributed database

US9280591B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9280591-B1
Application numberUS-201314033343-A
CountryUS
Kind codeB1
Filing dateSep 20, 2013
Priority dateSep 20, 2013
Publication dateMar 8, 2016
Grant dateMar 8, 2016

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 distributed database system may efficiently replicate system transactions one or more read-only nodes. An update to a distributed database may be received. One or more system transactions may be performed to apply the update. For each system transaction, one or more change notifications may be generated which indicate changes to be applied in order to perform the system transaction. A particular one of the change notifications may be identified as the last change to be applied in order to complete the system transaction. The change notifications may be sent to one or more read-only nodes. The read-only nodes may process read requests for the distributed database system. The identified change notification may indicate to the read-only nodes the last change to be applied prior to presenting a state of the database that includes the system transaction when servicing read requests.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a plurality of nodes implemented by one or more computing devices, wherein the plurality of nodes implement a distributed database; wherein one or more nodes of the plurality of nodes implement one or more read-only nodes, wherein the one or more read-only nodes operate as read replicas to process read operations for the distributed database; wherein at least one other node, of the plurality of nodes implements a read-write node, wherein the read-write node processes read operations and write operations for the distributed database, and wherein the read-write node is configured to: receive an update to the distributed database; perform one or more system transactions as part of applying the update to the distributed database; for each of the one or more system transactions: generate a plurality of change notifications indicating changes to be applied in order to perform the system transaction; identify a particular one of the plurality of change notifications as the last change to be applied in order to complete the system transaction; and send the plurality of change notifications, including the identified particular change notification, to the one or more read-only nodes of the distributed database, wherein the particular change notification indicates to the one or more read-only nodes the last change to be applied prior to presenting a state of the database that includes the system transaction. 2. The system of claim 1 , wherein each of the one or more read-only nodes is configured to: receive the plurality of change notifications; and apply the changes indicated in the plurality of change notifications. 3. The system of claim 2 , wherein at least one of the plurality of change notifications comprises one or more changes to system metadata maintained by the read-write node, and wherein to apply the changes indicated in the plurality of change notifications, each of the one or more read-only nodes are further configured to modify system metadata for the read-only node to match the one or more indicated changes to the system metadata maintained at the read-write node. 4. The system of claim 2 , wherein at least one of the plurality of change notifications comprises one or more changes to one or more data pages of a plurality of data pages maintaining data for the database at a distributed storage system, and wherein to apply the changes indicated in the plurality of change notifications, each of the one or more read-only nodes are further configured to invalidate a version of the one or more data pages maintained at the read-only node for servicing read requests. 5. The system of claim 2 , wherein each of the one or more read-only nodes is further configured to: receive a read request at the read-only node; in response to receiving the read request: determine a consistent state of the database to present for servicing the read request based, at least in part, on the particular one of the plurality of change notifications identified as the last change to be applied in order to complete the system transaction; and service the read request based, at least in part, on the determined consistent state of the database. 6. A method, comprising: performing, by one or more computing devices implementing a read-write node of a plurality of database nodes, wherein the plurality of database nodes implement a distributed database system: generating a plurality of change notifications indicating changes to be applied in order to perform a system transaction at the read-write node, wherein the system transaction is one system transaction of one or more system transactions performed at the read-write node in order to apply an update received at the read-write node; identifying a particular one of the plurality of change notifications as the last change to be applied in order to complete the system transaction; and sending the plurality of change notifications, including the identified particular change notification, to one or more read-only nodes of the distributed database system, wherein the particular change notification indicates to the one or more read-only nodes of the distributed database system the last change to be applied prior to presenting a state of the database that includes the system transaction. 7. The method of claim 6 , wherein at least one of the plurality of change notifications comprises one or more changes to a data page of a plurality of data pages maintaining data for the database at a data store. 8. The method of claim 7 , wherein said generating the at least one change notification comprising one or more changes to the one or more data pages comprises generating a redo log record for each of the one or more changes to the one or more data pages. 9. The method of claim 6 , wherein at least one of the plurality of change notifications comprises one or more changes to system metadata maintained by the read-write node, wherein the system metadata comprises: metadata describing a database schema maintained at a data store for the database; or metadata describing in-flight transactions. 10. The method of claim 6 , wherein said identifying the particular one of the plurality of change notifications as the last change to be applied in order to complete the system transaction comprises including a monotonically increasing identifier in the particular change notification. 11. The method of claim 6 , further comprising: performing, by one or more other computing devices implementing a read-only node of the one or more read-only nodes of the distributed database system: receiving the plurality of change notifications; and applying the changes indicated in the plurality of change notifications. 12. The method of claim 11 , further comprising: wherein said performing, by one or more other computing devices implementing a read-only node of the one or more read-only nodes of the distributed database system further comprises: receiving a read request at the read-only node; in response to receiving the read request: determining a consistent state of the database to present for servicing the read request based, at least in part, on the particular one of the plurality of change notifications identified as the last change to be applied in order to complete the system transaction; and servicing the read request based, at least in part, on the determined consistent state of the database, wherein at least one or more additional change notifications are received that are not identified as another last change to be applied. 13. The method of claim 12 , wherein a plurality of other change notifications including the different ones identified as the last change to be applied in order to complete a respective system transaction are received; wherein said determining the consistent state of the database to present for servicing the read request comprises: identifying one or more change notifications out of the plurality of other change notifications and the plurality of change notifications that are received prior to a received change notification identified as the last change to be applied; wherein said servicing the read request based, at least in part, on the determined consistent state of the database, comprises: including in a view of the database used to service the query the applied changes indicated in the identified one or more change notifications. 14. A non-transitory, computer-readable storage medium, storing program instructions that when executed by a plurality of computing devices cause the plurality of computing devices to implement: receiving

Assignees

Inventors

Classifications

  • G06F16/27Primary

    Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • G06F16/273Primary

    Asynchronous replication or reconciliation · CPC title

  • Physics · mapped topic

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 US9280591B1 cover?
A distributed database system may efficiently replicate system transactions one or more read-only nodes. An update to a distributed database may be received. One or more system transactions may be performed to apply the update. For each system transaction, one or more change notifications may be generated which indicate changes to be applied in order to perform the system transaction. A particu…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/27. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 08 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).