Maintaining Queries under Updates Using Heavy-Light Partitioning of the Input Relations
For database systems requiring real-time query updates, this work provides a general solution that automates maintenance for arbitrary join queries, whereas prior methods were manually tailored to specific queries.
The paper introduces a general approach for incremental view maintenance of arbitrary join queries under single-tuple updates, achieving update times that match or improve prior work. The approach combines delta queries, materialized view trees, and heavy-light partitioning, with update time characterized by a new measure called maintenance width.
We study the classical incremental view maintenance problem: Given a query and a database, maintain the query output under single-tuple updates (inserts or deletes) to the database such that the tuples in the query output can be enumerated with constant delay after any update. We introduce a maintenance approach whose update time matches or improves the best update time reported in prior work. Whereas prior approaches are manually tailored to each of a handful of queries, our approach generalizes to arbitrary join queries. It combines three techniques: delta queries, trees of materialized views, and heavy-light data partitioning. The overall update time incurred by our approach for a given join query is characterized by the maintenance width, a new measure that is parameterized by the heavy-light threshold for data partitioning. We show how to find the threshold that minimizes the maintenance width.