Skip to Main Content
A distributed database is a collection of independent cooperating centralized systems. Query processing in a distributed database requires transfer of data from one computer to another through a communication network. Query at a given site might require data from remote sites. In query optimization, a cost is associated with each query execution plan. Cost is the sum of local cost (I/O cost, CPU cost at each site) and the cost of transferring data between sites. The complexity and cost increases with the increasing number of relations in the query. Further, minimizing the amount of data transmission is important to reduce the query processing cost. Due to the large number of parameters affecting query execution cost, a single query can be executed in several different ways. A query execution strategy or plan is required to minimize the cost of query processing. The key problem for query optimization in a distributed database is selection of the most cost effective plan to execute a query. Extensive research has been done for query optimization in distributed databases. Numerous optimization strategies like static, dynamic and randomized strategies have been proposed for determining an optimal plan. However, these optimization strategies require knowledge of the entire system (logical schema, physical schema, availability of resources at other sites etc.), and therefore, are not suitable for an autonomous distributed database system. In an autonomous distributed database system nodes are unaware of each other. We review the traditional optimization strategies, like Static and various dynamic strategies for non-autonomous distributed database systems. We also analyze the suitability of these strategies for autonomous systems. Further, we review Mariposa, Query trading with DP and IDP and Query Trading with Processing task Trading (QTPT) for autonomous distributed database systems. The primary focus of our review is on dynamic optimization strategies.