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, from a remote system, a request to have an operation performed by node endpoints accessible to the computer system, each of the node endpoints accessible to the computer system including a partition of a sharded table;
determining, at the computer system, how many of the node endpoints are needed to satisfy the request, wherein the determination is based on information obtained from an updateable directory that maps the sharded table across the node endpoints by identifying where each partition of the sharded table is located across the node endpoints;
determining, at the computer system, a computational processing overhead comparison that compares utilizing only slave node endpoints to satisfy the request to utilizing at least one intermediary node endpoint to satisfy the request;
based on the computational processing overhead comparison, determining, at the computer system, to utilize an intermediary node endpoint and a slave node endpoint to satisfy the request; and
satisfying the request utilizing the intermediary node endpoint and the slave 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.
-
Citations
16 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, from a remote system, a request to have an operation performed by node endpoints accessible to the computer system, each of the node endpoints accessible to the computer system including a partition of a sharded table; determining, at the computer system, how many of the node endpoints are needed to satisfy the request, wherein the determination is based on information obtained from an updateable directory that maps the sharded table across the node endpoints by identifying where each partition of the sharded table is located across the node endpoints; determining, at the computer system, a computational processing overhead comparison that compares utilizing only slave node endpoints to satisfy the request to utilizing at least one intermediary node endpoint to satisfy the request; based on the computational processing overhead comparison, determining, at the computer system, to utilize an intermediary node endpoint and a slave node endpoint to satisfy the request; and satisfying the request utilizing the intermediary node endpoint and the slave node endpoint. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. 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, from a remote system, a request to have an operation performed by node endpoints accessible to the computer system, each of the node endpoints accessible to the computer system including a partition of a sharded table; determine, at the computer system, how many of the node endpoints are needed to satisfy the request, wherein the determination is based on information obtained from an updateable directory that maps the sharded table across the node endpoints by identifying where each partition of the sharded table is located across the plurality of node endpoints; determine, at the computer system, a computational processing overhead comparison that compares utilizing only slave node endpoints to satisfy the request to utilizing at least one intermediary node endpoint to satisfy the request; based on the computational processing overhead comparison, determine, and the computer system, to utilize an intermediary node endpoint in combination with a slave node endpoint to satisfy the request and satisfy the request by utilizing the intermediary node endpoint in combination with the slave node endpoint. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. 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, from a remote system, a request to have an operation performed by node endpoints accessible to the computer system, each of the node endpoints accessible to the computer system including a partition of a sharded table; determine, at the computer system, how many of the node endpoints are needed to satisfy the request, wherein the determination is based on information obtained from an updateable directory that maps the sharded table across the node endpoints by identifying where each partition of the sharded table is located across the plurality of node endpoints; determine, at the computer system, a computational processing overhead comparison that compares utilizing only slave node endpoints to satisfy the request to utilizing at least one intermediary node endpoint to satisfy the request; based on the computational processing overhead comparison, determine, and the computer system, to utilize an intermediary node endpoint in combination with a slave node endpoint to satisfy the request and satisfy the request by utilizing the intermediary node endpoint in combination with the slave node endpoint.
-
Specification