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.
翻译:我们研究经典的增量视图维护问题:给定一个查询和一个数据库,在数据库发生单元组更新(插入或删除)后维护查询输出,使得在任何更新后查询输出中的元组能以恒定延迟枚举。我们提出一种维护方法,其更新时间匹配或优于先前工作中报告的最佳更新时间。先前方法需要为少数几个查询分别手动定制,而我们的方法可推广到任意连接查询。它结合了三种技术:增量查询、物化视图树以及数据轻重分区。对于给定的连接查询,该方法产生的总体更新时间由维护宽度(一种由数据分区的轻重阈值参数化的新度量)来表征。我们展示了如何找到使维护宽度最小化的阈值。