Transaction model for data stores using distributed file systems
First Claim
1. A method, comprising:
- sending to each of a plurality of segments to which a corresponding assigned portion of a query plan is assigned an associated transaction-related metadata, wherein the transaction-related metadata sent to each of the plurality of segments is associated with the corresponding assigned portion of the query plan assigned to the corresponding one of the plurality of segments and is determined to be used by a corresponding one of the plurality of segments to process the corresponding assigned portion of the query plan;
receiving from zero or more of the plurality of segments a corresponding metadata modification record reflecting changes, if any, to system metadata required to be made to reflect changes to data made by that segment in processing the portion of the query plan assigned to that segment;
determining whether the corresponding metadata modification record has been received from each of the of segments in the plurality of segments;
in the event the corresponding metadata modification record is determined to have been received from each of the segments in the plurality of segments, updating a system metadata store to reflect the corresponding metadata modification records received from the plurality of segments, wherein the updating of the system metadata store comprises;
replaying, by a master node, the corresponding metadata modification records received from each of the plurality of segments; and
committing, by the master node, a transaction with which the query plan is associated, wherein the transaction is committed in response to determining that all of the plurality of segments to which a corresponding portion of the query plan is assigned have successfully completed the corresponding assigned portion for the query plan; and
in the event that one or more of the plurality of segments fail to successfully complete the corresponding assigned portion of the query plan, aborting the transaction with which the query plan is associated.
10 Assignments
0 Petitions
Accused Products
Abstract
A transaction model for data stores using a distributed file system is disclosed. In various embodiments, a transaction-related metadata is sent to each of a plurality of segments to which a corresponding assigned portion of a query plan is assigned. A metadata modification record is received from zero or more of the segments, reflecting changes, if any, to system metadata required to be made to reflect changes to data made by that segment in processing the portion of the query plan assigned to that segment. It is determined whether a metadata modification record has been received from each of the segments in the plurality of segments. In the event a metadata modification record is determined to have been received from each of the segments in the plurality of segments, a system metadata store is updated to reflect the respective metadata modification records received from the plurality of segments.
51 Citations
25 Claims
-
1. A method, comprising:
-
sending to each of a plurality of segments to which a corresponding assigned portion of a query plan is assigned an associated transaction-related metadata, wherein the transaction-related metadata sent to each of the plurality of segments is associated with the corresponding assigned portion of the query plan assigned to the corresponding one of the plurality of segments and is determined to be used by a corresponding one of the plurality of segments to process the corresponding assigned portion of the query plan; receiving from zero or more of the plurality of segments a corresponding metadata modification record reflecting changes, if any, to system metadata required to be made to reflect changes to data made by that segment in processing the portion of the query plan assigned to that segment; determining whether the corresponding metadata modification record has been received from each of the of segments in the plurality of segments; in the event the corresponding metadata modification record is determined to have been received from each of the segments in the plurality of segments, updating a system metadata store to reflect the corresponding metadata modification records received from the plurality of segments, wherein the updating of the system metadata store comprises; replaying, by a master node, the corresponding metadata modification records received from each of the plurality of segments; and committing, by the master node, a transaction with which the query plan is associated, wherein the transaction is committed in response to determining that all of the plurality of segments to which a corresponding portion of the query plan is assigned have successfully completed the corresponding assigned portion for the query plan; and in the event that one or more of the plurality of segments fail to successfully complete the corresponding assigned portion of the query plan, aborting the transaction with which the query plan is associated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23, 24, 25)
-
-
11. A system, comprising:
-
a communication interface; and a processor coupled to the communication interface and configured to; send, via the communication interface, to each of a plurality of segments to which a corresponding assigned portion of a query plan is assigned, an associated transaction-related metadata, wherein the transaction-related metadata sent to each of the plurality of segments is associated with the corresponding assigned portion of the query plan assigned to the corresponding one of the plurality of segments and is determined to be used by a corresponding one of the plurality of segments to process the corresponding assigned portion of the query plan; receive from zero or more of the plurality of segments a corresponding metadata modification record reflecting changes, if any, to system metadata required to be made to reflect changes to data made by that segment in processing the portion of the query plan assigned to that segment; determine whether the corresponding metadata modification record has been received from each of the of segments in the plurality of segments; in the event the corresponding metadata modification record is determined to have been received from each of the segments in the plurality of segments, update a system metadata store to reflect the corresponding metadata modification records received from the plurality of segments, wherein to update the system metadata store comprises; replaying the corresponding metadata modification records received from each of the plurality of segments; and committing a transaction with which the query plan is associated, wherein the transaction is committed in response to determining that all of the plurality of segments to which a corresponding portion of the query plan is assigned have successfully completed the corresponding assigned portion for the query plan; and in the event that one or more of the plurality of segments fail to successfully complete the corresponding assigned portion of the query plan, aborting the transaction with which the query plan is associated. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A computer program product embodied in a tangible, non-transitory computer-readable storage medium, comprising computer instructions for:
-
sending to each of a plurality of segments to which a corresponding assigned portion of a query plan is assigned an associated transaction-related metadata, wherein the transaction-related metadata sent to each of the plurality of segments is associated with the corresponding assigned portion of the query plan assigned to the corresponding one of the plurality of segments and is determined to be used by a corresponding one of the plurality of segments to process the corresponding assigned portion of the query plan; receiving from zero or more of the plurality of segments a corresponding metadata modification record reflecting changes, if any, to system metadata required to be made to reflect changes to data made by that segment in processing the portion of the query plan assigned to that segment; determining whether the corresponding metadata modification record has been received from each of the of segments in the plurality of segments; in the event the corresponding metadata modification record is determined to have been received from each of the segments in the plurality of segments, updating a system metadata store to reflect the corresponding metadata modification records received from the plurality of segments, wherein updating the system metadata store comprises; replaying the corresponding metadata modification records received from each of the plurality of segments; and committing a transaction with which the query plan is associated, wherein the transaction is committed in response to determining that all of the plurality of segments to which a corresponding portion of the query plan is assigned have successfully completed the corresponding assigned portion for the query plan; and in the event that one or more of the plurality of segments fail to successfully complete the corresponding assigned portion of the query plan, aborting the transaction with which the query plan is associated. - View Dependent Claims (19, 20)
-
Specification