Algorithms for distributional and adversarial pipelined filter ordering problems

TitleAlgorithms for distributional and adversarial pipelined filter ordering problems
Publication TypeJournal Articles
Year of Publication2009
AuthorsCondon A, Deshpande A, Hellerstein L, Wu N
JournalACM Trans. Algorithms
Pagination24:1–24:34 - 24:1–24:34
Date Published2009/03//
ISBN Number1549-6325
Keywordsflow algorithms, Pipelined filter ordering, Query optimization, selection ordering

Pipelined filter ordering is a central problem in database query optimization. The problem is to determine the optimal order in which to apply a given set of commutative filters (predicates) to a set of elements (the tuples of a relation), so as to find, as efficiently as possible, the tuples that satisfy all of the filters. Optimization of pipelined filter ordering has recently received renewed attention in the context of environments such as the Web, continuous high-speed data streams, and sensor networks. Pipelined filter ordering problems are also studied in areas such as fault detection and machine learning under names such as learning with attribute costs, minimum-sum set cover, and satisficing search. We present algorithms for two natural extensions of the classical pipelined filter ordering problem: (1) a distributional-type problem where the filters run in parallel and the goal is to maximize throughput, and (2) an adversarial-type problem where the goal is to minimize the expected value of multiplicative regret. We present two related algorithms for solving (1), both running in time O(n2), which improve on the O(n3 log n) algorithm of Kodialam. We use techniques from our algorithms for (1) to obtain an algorithm for (2).