Hierarchical organization for scale-out cluster
First Claim
1. A method, implemented at a computer system that includes one or more processors, for performing a distributed data operation, the method comprising the computer system performing the following:
- receiving a request to perform one or more data operations, the one or more data operations being performed by at least some of a plurality of node endpoints, wherein each node endpoint of the plurality includes a partition of a sharded table;
determining how many node endpoints are needed to satisfy the request, wherein the determination is at least partially based on information obtained from an updateable directory that is consulted in response to the request, the updateable directory detailing where each partition of the sharded table is located in each of the plurality of node endpoints such that the updateable directory maps the sharded table across the plurality of node endpoints;
after determining how many node endpoints are needed to satisfy the request, servicing the request to perform the one or more data operations, wherein servicing the request to perform the one or more data operations includes;
after determining how many node endpoints are needed to satisfy the request, select a particular set of node endpoints that will be used to service the request;
from within the particular set, designate a particular node endpoint to act as a master node endpoint and designate each remaining node endpoint included within the particular set as slave node endpoints; and
direct the request and all subsequent requests included within the session of requests to the master node endpoint.
2 Assignments
0 Petitions
Accused Products
Abstract
Performing a distributed data operation. A method includes receiving a request for one or more data operations from a first computing system, such as a client. The method further includes determining a number of node endpoints that can be used to satisfy the query. Based on the number of node endpoints, the method further includes selecting a plan from the group consisting essentially of a flat data operation plan, a hierarchical data operation plan or a combination of partially flat/partially hierarchical data operation plan. The request for one or more data operations is serviced using the selected data operation plan.
47 Citations
19 Claims
-
1. A method, implemented at a computer system that includes one or more processors, for performing a distributed data operation, the method comprising the computer system performing the following:
-
receiving a request to perform one or more data operations, the one or more data operations being performed by at least some of a plurality of node endpoints, wherein each node endpoint of the plurality includes a partition of a sharded table; determining how many node endpoints are needed to satisfy the request, wherein the determination is at least partially based on information obtained from an updateable directory that is consulted in response to the request, the updateable directory detailing where each partition of the sharded table is located in each of the plurality of node endpoints such that the updateable directory maps the sharded table across the plurality of node endpoints; after determining how many node endpoints are needed to satisfy the request, servicing the request to perform the one or more data operations, wherein servicing the request to perform the one or more data operations includes; after determining how many node endpoints are needed to satisfy the request, select a particular set of node endpoints that will be used to service the request; from within the particular set, designate a particular node endpoint to act as a master node endpoint and designate each remaining node endpoint included within the particular set as slave node endpoints; and direct the request and all subsequent requests included within the session of requests to the master node endpoint. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In a distributed computing environment, a computer system comprising:
-
one or more processors; and one or more computer readable hardware storage devices having stored thereon computer executable instructions that are executable by the one or more processors and that cause the computer system to perform a distributed data operation by causing the computer system to; receive a request to perform one or more data operations, the one or more data operations being performed by at least some of a plurality of node endpoints, wherein each node endpoint of the plurality includes a partition of a sharded table; determine how many node endpoints are needed to satisfy the request, wherein the determination is at least partially based on information obtained from an updateable directory that is consulted in response to the request, the updateable directory detailing where each partition of the sharded table is located in each of the plurality of node endpoints such that the updateable directory maps the sharded table across the plurality of node endpoints; after determining how many node endpoints are needed to satisfy the request, service the request to perform the one or more data operations, wherein servicing the request to perform the one or more data operations includes; after determining how many node endpoints are needed to satisfy the request, select a particular set of node endpoints that will be used to service the request; from within the particular set, designate a particular node endpoint to act as a master node endpoint and designate each remaining node endpoint included within the particular set as slave node endpoints; and direct the request and all subsequent requests included within the session of requests to the master node endpoint. - View Dependent Claims (9, 10, 11, 12, 13, 14, 18, 19)
-
-
15. One or more hardware storage device having stored thereon computer executable instructions that are executable by one or more processors of a computer system to cause the computer system to perform a distributed data operation by at least causing the computer system to:
-
receive a request to perform one or more data operations, the one or more data operations being performed by at least some of a plurality of node endpoints, wherein each node endpoint of the plurality includes a partition of a sharded table; determine how many node endpoints are needed to satisfy the request, wherein the determination is at least partially based on information obtained from an updateable directory that is consulted in response to the request, the updateable directory detailing where each partition of the sharded table is located in each of the plurality of node endpoints such that the updateable directory maps the sharded table across the plurality of node endpoints; after determining how many node endpoints are needed to satisfy the request, service the request to perform the one or more data operations, wherein servicing the request to perform the one or more data operations includes; after determining how many node endpoints are needed to satisfy the request, select a particular set of node endpoints that will be used to service the request; from within the particular set, designate a particular node endpoint to act as a master node endpoint and designate each remaining node endpoint included within the particular set as slave node endpoints; and direct the request and all subsequent requests included within the session of requests to the master node endpoint. - View Dependent Claims (16, 17)
-
Specification