Distributed Query Optimization is more complex due to the ditribution of the data.The distributed query is processed and optimized as a number of separate layers.
The layers are
*Query Decomposition
*Data Localization
*Global Optimization
*Local Optimization
Query Decomposition:
This layer takes a query expressed on the global relations and performs a partial optimization using some techniques.The output is some form of relational algebra tree based on global relations.
Data Localization:
This layer takes into account how the data has been distributed.A further iteration of optimization is performed by replacing the global relations at the leaves of the relational algebra tree with their reconstruction algorithms.Sometimes it is called as Data localization programs.
Global Optimization:
This layer takes account of statistical information to find a near optimal execution plan.The output from this layer is an execution strategy based on fragments with communication primitives added to send parts of the query to the local DBMSs to be executed there and to receive the results.
Local Optimization:
The first 3 layers are run at the control site,but this particular layer is run at each of the local sites involved in the query.
These are the Distributed Query Optimization Layers.