Efficient replication of system transactions for read-only nodes of a distributed database
First Claim
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.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
188 Citations
20 Claims
-
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. - View Dependent Claims (2, 3, 4, 5)
-
-
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. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
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 an update to a database maintained by a distributed database system, wherein the update is received at a read-write node of a plurality of nodes implementing the distributed database system; performing one or more system transactions to apply the update to the distributed database system at the read-write node; for each of the one or more system transactions; generating at the read-write node a plurality of change notifications indicating changes to be applied in order to perform the system transaction; identifying at the read-write node 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 plurality of nodes implementing the distributed database system, 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. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification