Adaptive query processing in large distributed systems has seen increasing importance due to the rising environmental fluctuations in a growing Internet. We describe Ginga, an adaptive query processing engine that combines proactive (compile-time) alternative query plan generation with reactive (run-time) monitoring of network delays. The core of Ginga approach is the notion of adaptation space and mechanisms for coordinating and integrating different kinds of query adaptation. An adaptation space consists of a set of adaptation triggers and a set of adaptation cases associated with the triggers. Each adaptation case describes a specific adaptation opportunity of the query execution when changes to the runtime environment are detected. Our experimental results show that Ginga query adaptation can achieve significant performance improvements (up to 40% of response time gain) for processing distributed queries over the Internet. Categories and Subject Descriptors