Method and apparatus for reading and writing committed data
First Claim
1. A database system comprising:
- at least one processor configured to execute a plurality of system components, wherein the plurality of system components comprise;
an interface component configured to receive a write commit command and provide a write commit confirmation;
a snapshot component configured to generate a plurality of snapshots of data stored in a first data storage node of a plurality of data storage nodes and identify a first snapshot from the plurality of snapshots that is representative of data that has been replicated on a majority of the plurality of data storage nodes as a committed snapshot; and
a command processing component configured to;
determine whether the write commit command modifies at least one data element in the first data storage node; and
responsive to the write commit command modifying the at least one data element in the first data storage node,modify the at least one data element in the first data storage node based on the write commit command;
determine whether the majority of the plurality of storage nodes have replicated the modification to the at least one data element using the committed snapshot; and
generate the write commit confirmation responsive to a determination that the majority of the plurality of data storage nodes have replicated the modification to the at least one data element;
wherein;
the interface component is further configured to receive a confirmation from a second data storage node of the plurality of data storage nodes that the second data storage node has replicated the modification to the at least one data element; and
the snapshot component is further configured to;
identify a second snapshot from the plurality of snapshots as the committed snapshot responsive to receipt of the confirmation from the second data storage node; and
remove the first snapshot from the plurality of snapshots responsive to identifying the second snapshot as the committed snapshot.
1 Assignment
0 Petitions
Accused Products
Abstract
According to some aspects, a database system comprising a processor configured to execute a plurality of system components is provided. The plurality of system components may include an interface component configured to receive a write commit command and provide a write commit confirmation, a snapshot component configured to generate a plurality of snapshots of data stored in a data storage node of a plurality of data storage nodes and identify a committed snapshot representative of data that has been replicated on a majority of the plurality of data storage nodes, and a command processing component configured to modify a data element based on the write commit command, determine whether the majority of the plurality of storage nodes have replicated the modification using the committed snapshot, and generate the write commit confirmation responsive to a determination that the majority of the plurality of data storage nodes have replicated the modification.
303 Citations
15 Claims
-
1. A database system comprising:
at least one processor configured to execute a plurality of system components, wherein the plurality of system components comprise; an interface component configured to receive a write commit command and provide a write commit confirmation; a snapshot component configured to generate a plurality of snapshots of data stored in a first data storage node of a plurality of data storage nodes and identify a first snapshot from the plurality of snapshots that is representative of data that has been replicated on a majority of the plurality of data storage nodes as a committed snapshot; and a command processing component configured to; determine whether the write commit command modifies at least one data element in the first data storage node; and responsive to the write commit command modifying the at least one data element in the first data storage node, modify the at least one data element in the first data storage node based on the write commit command; determine whether the majority of the plurality of storage nodes have replicated the modification to the at least one data element using the committed snapshot; and generate the write commit confirmation responsive to a determination that the majority of the plurality of data storage nodes have replicated the modification to the at least one data element; wherein; the interface component is further configured to receive a confirmation from a second data storage node of the plurality of data storage nodes that the second data storage node has replicated the modification to the at least one data element; and the snapshot component is further configured to; identify a second snapshot from the plurality of snapshots as the committed snapshot responsive to receipt of the confirmation from the second data storage node; and remove the first snapshot from the plurality of snapshots responsive to identifying the second snapshot as the committed snapshot. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
11. A method of performing operations in a computer database, comprising:
-
generating, by a snapshot component executed by at least one processor, a plurality of snapshots of data stored in a first data storage node of a plurality of data storage nodes; identifying, by the snapshot component executed by the at least one processor, a first snapshot from the plurality of snapshots that is representative of data that has been replicated on a majority of the plurality of data storage nodes as a committed snapshot; receiving, by an interface component executed by the at least one processor, a write commit command; determining, by a command processing component executed by the at least one processor, whether the write commit command modifies at least one data element in the first data storage node; responsive to the write commit command modifying the at least one data element in the first data storage node, modifying the at least one data element in the first data storage node based on the write commit command; determining whether the majority of the plurality of storage nodes have replicated the modification to the at least one data element using the committed snapshot; and generating a write commit confirmation responsive to a determination that the majority of the plurality of data storage nodes have replicated the modification to the at least one data element; providing, by the interface component, the write commit confirmation; receiving, by the interface component, a confirmation from a second data storage node of the plurality of data storage nodes that the second data storage node has replicated the modification to the at least one data element; identifying, by the snapshot component, a second snapshot from the plurality of snapshots as the committed snapshot responsive to receipt of the confirmation from the second data storage node; and removing, by the snapshot component, the first snapshot from the plurality of snapshots responsive to identifying the second snapshot as the committed snapshot. - View Dependent Claims (12, 13, 14)
-
-
15. A database system comprising:
-
a database configured to follow an eventual consistency model and comprising a primary data storage node storing an operation log and a plurality of secondary data storage nodes configured to retrieve the operation log from the primary data storage node and replicate operations in the operation log; and at least one processor configured to execute a plurality of system components, wherein the plurality of system components comprise; an interface component configured to receive a write commit command and provide a write commit confirmation; a snapshot component configured to generate a plurality of snapshots of data stored in the primary data storage node, identify a first snapshot from the plurality of snapshots that is representative of data that has been replicated on a majority of the plurality of secondary data storage nodes as a committed snapshot; and a command processing component configured to; determine whether the write commit command modifies at least one document in the primary data storage node; and responsive to the write commit command modifying the at least one document in the primary data storage node, modify the at least one document in the primary data storage node; determine whether the majority of the secondary storage nodes have replicated the modification to the at least one document in the primary data storage node using the committed snapshot; and generate the write commit confirmation responsive to a determination that the majority of the secondary storage nodes replicated the modification to the at least one document; wherein; the interface component is further configured to receive a confirmation from a data storage node of the plurality of secondary data storage nodes that the data storage node has replicated the modification to the at least one document; and the snapshot component is further configured to; identify a second snapshot from the plurality of snapshots as the committed snapshot responsive to receipt of the confirmation from the data storage node; and remove the first snapshot from the plurality of snapshots responsive to identifying the second snapshot as the committed snapshot.
-
Specification