A state transition model for distributed query processing
- 1 August 1986
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Database Systems
- Vol. 11 (3) , 294-322
- https://doi.org/10.1145/6314.6460
Abstract
A state transition model for the optimization of query processing in a distributed database system is presented. The problem is parameterized by means of a state describing the amount of processing that has been performed at each site where the database is located. A state transition occurs each time a new join or semijoin is executed. Dynamic programming is used to compute recursively the costs of the states and the globally optimal solution, taking into account communication and local processing costs. The state transition model is general enough to account for the possibility of parallel processing among the various sites, as well as for redundancy in the database. The model also permits significant reductions of the necessary computations by taking advantage of simple additivity and site-uniformity properties of a cost model, and of clever strategies that improve on the basic dynamic programming algorithm.Keywords
This publication has 14 references indexed in Scilit:
- Join and Semijoin Algorithms for a Multiprocessor Database MachineACM Transactions on Database Systems, 1984
- Optimizing Chain Queries in a Distributed Database SystemSIAM Journal on Computing, 1984
- Optimization Algorithms for Distributed QueriesIEEE Transactions on Software Engineering, 1983
- Tree queriesACM Transactions on Database Systems, 1982
- Optimal Query Processing for Distributed Database SystemsIEEE Transactions on Computers, 1982
- The power of inequality semijoinsInformation Systems, 1981
- Query processing in a system for distributed databases (SDD-1)ACM Transactions on Database Systems, 1981
- Power of Natural SemijoinsSIAM Journal on Computing, 1981
- Using Semi-Joins to Solve Relational QueriesJournal of the ACM, 1981
- Query Processing in Distributed Database SystemIEEE Transactions on Software Engineering, 1979