Issue No. 09 - September (2007 vol. 19)
Monitoring systems today often involve continuous queries over streaming data, in a distributed collaborative fashion. The distribution of query operators over a network of processors, and their processing sequence, form a query configuration with inherent constraints on the throughput it can support. In this paper we discuss the implications of measuring and optimizing for output throughput, and its limitations. We propose to use instead the more granular input throughput and a version of throughput measure, the profiled input throughput, that is focused on matching the expected behavior of the input streams. We show how to evaluate a query configuration based on profiled input throughput, and that the problem of finding the optimal configuration is NP-hard. Furthermore, we describe how to overcome the complexity limitation by adapting hill-climbing heuristics to reduce the search space of configurations. We show experimentally that the approach used is not only efficient but also effective.
Query processing, optimization, database architectures, distributed applications
C. Lang, G. Mihaila, I. Stanoi and T. Palpanas, "WhiteWater: Distributed Processing of Fast Streams," in IEEE Transactions on Knowledge & Data Engineering, vol. 19, no. , pp. 1214-1226, 2007.