A Study of Query Execution Strategies for Client-Server Database Systems

View/ Open
Date
1998-10-15Author
Kossmann, Donald
Franklin, Michael J.
Metadata
Show full item recordAbstract
Query processing in a client-server database system raises the
question of where to execute queries to minimize the communication costs
and response time of a query, and to load-balance the system. This paper
evaluates the two common query execution strategies, data shipping and
query shipping, and a policy referred to as hybrid shipping. Data
shipping determines that queries be executed at clients; query shipping
determines that queries be executed at servers; and hybrid shipping
provides the flexibility to execute queries at clients and servers. The
experiments with a client-server model confirm that the query execution
policy is critical for the performance of a system. Neither data nor
query shipping are optimal in all situations, and the performance
penalities can be substantial. Hybrid shipping at least matches the best
performance of data and query shipping and shows better performance than
both in many cases. The performance of hybrid shipping plans, however, is
shown to be sensitive to changes in the state of the system (e.g., the
load of machines and the contents of caches). Initial experiments
indicate that an extended version of a 2-step optimization may be an
effective strategy for adjusting plans according to the state of the
system at runtime.
(Also cross-referenced as UMIACS-TR-95-85)