1. In a distributed computing environment, a method of performing a distributed data operation, the method comprising: receiving a request for one or more data operations from a first computing system; determining a number of node endpoints that can be used to satisfy the query; based on the number of node endpoints, 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; and servicing the request for one or more data operations using the selected data operation plan.