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 an operation, the operation being performed by at least some of a plurality of node endpoints, each node including a partition of a sharded table;
determining how many node endpoints are needed to satisfy the request, wherein the determination is based at least on information obtained from an updateable directory that is consulted in response to the request, the updateable directory mapping the sharded table across the plurality of node endpoints by identifying where each partition of the table is located in each of the plurality of node endpoints;
after determining how many node endpoints are needed to satisfy the request, determining to utilize one or more intermediary nodes alone or in combination with one or more slave nodes to satisfy the request, based at least on a determined computational processing overhead associated with utilizing only slave nodes as compared to utilizing at least one intermediary node to satisfy the request; and
satisfying the request with at least the one or more intermediary nodes.
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.
10 Citations
20 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 an operation, the operation being performed by at least some of a plurality of node endpoints, each node including a partition of a sharded table; determining how many node endpoints are needed to satisfy the request, wherein the determination is based at least on information obtained from an updateable directory that is consulted in response to the request, the updateable directory mapping the sharded table across the plurality of node endpoints by identifying where each partition of the table is located in each of the plurality of node endpoints; after determining how many node endpoints are needed to satisfy the request, determining to utilize one or more intermediary nodes alone or in combination with one or more slave nodes to satisfy the request, based at least on a determined computational processing overhead associated with utilizing only slave nodes as compared to utilizing at least one intermediary node to satisfy the request; and satisfying the request with at least the one or more intermediary nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. 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 method comprising the computer system performing the following; receive a request to perform an operation, the operation being performed by at least some of a plurality of node endpoints, each node including a partition of a sharded table; determine how many node endpoints are needed to satisfy the request, wherein the determination is based at least on information obtained from an updateable directory that is consulted in response to the request, the updateable directory mapping the sharded table across the plurality of node endpoints by identifying where each partition of the table is located in each of the plurality of node endpoints; after determine how many node endpoints are needed to satisfy the request, determining to utilize one or more intermediary nodes alone or in combination with one or more slave nodes to satisfy the request, based at least on a determined computational processing overhead associated with utilizing only slave nodes as compared to utilizing at least one intermediary node to satisfy the request; and satisfy the request with at least the one or more intermediary nodes. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. 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 an operation, the operation being performed by at least some of a plurality of node endpoints, each node including a partition of a sharded table; determine how many node endpoints are needed to satisfy the request, wherein the determination is based at least on information obtained from an updateable directory that is consulted in response to the request, the updateable directory mapping the sharded table across the plurality of node endpoints by identifying where each partition of the table is located in each of the plurality of node endpoints; after determine how many node endpoints are needed to satisfy the request, determining to utilize one or more intermediary nodes alone or in combination with one or more slave nodes to satisfy the request, based at least on a determined computational processing overhead associated with utilizing only slave nodes as compared to utilizing at least one intermediary node to satisfy the request; and satisfy the request with at least the one or more intermediary nodes.
-
Specification