Distributed storage revision rollbacks
US-9015431-B2 · Apr 21, 2015 · US
US2016203202A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016203202-A1 |
| Application number | US-201615074987-A |
| Country | US |
| Kind code | A1 |
| Filing date | Mar 18, 2016 |
| Priority date | Dec 23, 2010 |
| Publication date | Jul 14, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Provided are systems and methods for managing asynchronous replication in a distributed database environment, wherein a cluster of nodes are assigned roles for processing database requests. In one embodiment, the system provides a node with a primary role to process write operations against its database, generate an operation log reflecting the processed operations, and permit asynchronous replication of the operations to at least one secondary node. In another embodiment, the primary node is the only node configured to accept write operations. Both primary and secondary nodes can process read operations. Although in some settings read requests can be restricted to secondary nodes or the primary node. In one embodiment, the systems and methods provide for automatic failover of the primary node role, can include a consensus election protocol for identifying the next primary node. Further, the systems and methods can be configured to automatically reintegrate a failed primary node.
Opening claim text (preview).
What is claimed is: 1 . A computer-implemented method for managing primary responsibility in a distributed database system, the method comprising the acts of: establishing at least one primary node having a primary node role within a plurality of nodes, wherein the plurality of nodes comprise the distributed database system and the distributed database system provides responses to database requests from client computer systems; establishing a plurality of secondary nodes having a secondary node role, wherein each secondary node is associated with a primary node and hosts a replica of the primary node's database; replicating from the at least one primary node executed write operations to secondary nodes associated with the at least one primary node; and automatically recovering the primary node role in the distributed database system in response to a failure of the at least one primary node, wherein the act of automatically recovering includes: establishing one of the plurality of secondary nodes as a new primary node; deleting replicated write operations received by the new primary node from the original at least one primary node; and establishing a point of consistency within the database between the new primary node and remaining secondary nodes as a new current state of the database. 2 . The method according to claim 1 , wherein establishing the plurality of secondary nodes having the secondary node role, includes configuring the plurality of secondary nodes to receive replicated operations from the at least one primary node according to a data consistency model. 3 . The method according to claim 1 , wherein method further comprises an act of providing for strong consistency or immediate consistency in the distributed database system. 4 . The method according to claim 1 , wherein the act of automatically recovering the at least one primary node responsibility further comprises the acts of: detecting by at least one node in the plurality of nodes a replication failure; electing automatically, in response to the act of detecting, a new primary node from the plurality of secondary nodes; establishing for the new primary node at least one secondary node to replicate operations; and synchronizing a state of a respective database hosted on each of the secondary nodes with a state of the database hosted on the new primary node. 5 . The method according to claim 4 , further comprising an act of restoring the original primary node to the database system, wherein the act of restoring includes an act of identifying a consistent state in the database hosted on the original primary node and the new primary node. 6 . The method according to claim 5 , wherein the act of identifying the consistent state includes an act of identifying a database state of the new primary node where the database state reflects a last committed write operation received from the original primary node. 7 . The method according to claim 6 , further comprising an act of applying any transactions from the database hosted on the new primary node to the database hosted on the original primary node. 8 . The method according to claim 4 , wherein the act of electing the new primary node includes an act of establishing a consensus within the plurality of nodes. 9 . The method according to claim 8 , wherein the act of establishing a consensus includes an act of requiring a majority of the plurality of nodes to agree on the new primary node. 10 . The method according to claim 1 , wherein the act of replicating from the at least one primary node includes an act of committing a write operation in response to an acknowledgement of the write operation from the majority of nodes responsible for the written data. 11 . The method according to claim 1 , wherein the act of replicating from the at least one primary node the write operations to the plurality of nodes, includes an act of committing the write operation in response to an acknowledgement of the write operation from a threshold number of the nodes responsible for the written data. 12 . A system for managing replication responsibility in a distributed database environment comprising a plurality of nodes, the system comprising: a role component configured to establish a role associated with each node in a plurality of nodes, wherein the role component is configured to establish at least one primary node with a primary role and at least one secondary node with a secondary role; a replication component configured to replicate write operations performed on the at least one primary node to the at least one secondary node; and a recovery component configured to: automatically establish a new primary node in the distributed database system in response to a replication failure on the original at least one primary node; establish one of the at least one secondary node as the at least one primary node; and delete at least one replicated operation received by the new primary node from the original at least one primary node to establish a point of consistency within the database between the new primary node and remaining secondary nodes. 13 . The system according to claim 12 , further comprising a durability component configured to commit a write operation in response to replication of the write operation to a threshold number of the nodes responsible for the written data. 14 . The system according to claim 12 , wherein the threshold number of the nodes responsible for the written data comprises a majority of the nodes responsible for the written data. 15 . The system according to claim 12 , wherein the majority of nodes responsible for the written data include the primary node and at least two secondary nodes. 16 . The system according to claim 12 , wherein the recovery component further comprises: a status component configured to monitor replication status in the distributed database; an election component configured to automatically establish a new node with the primary role in response to detecting a replication failure; and a synchronization component configured to synchronize a database hosted on the at least one node with the secondary role and a database hosted on the new primary node. 17 . The system according to claim 16 , wherein the election component is further configured to establish the new node with the primary role based on evaluation of election criteria, including at least one of a state of a node's data, a geographic location, a rack position, a processing capability, or a hardware capability. 18 . The system according to claim 12 , where the system is configured to maintain strong consistency in the distributed database. 19 . A system for managing replication responsibility in a distributed database environment comprising a plurality of nodes, the system comprising: at least one processor operatively connected to a memory, the at least one processor when running is configured to execute a plurality of system components, wherein the plurality of system components comprise: a role component configured to establish a role associated with a plurality of nodes, wherein the role component is configured to establish a primary node with a primary role and at least a plurality of secondary nodes with a secondary role; and a replication component configured to: replicate write operations performed on the primary node to the plurality of secondary nodes such that all write operations are executed at least under a default consistency model for data replication in a database, wh
Asynchronous replication or reconciliation · CPC title
Ensuring data consistency and integrity · CPC title
Management of the backup or restore process · CPC title
in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems · CPC title
Using snapshots, i.e. a logical point-in-time copy of the data · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.