We revisit the classical change propagation framework for query evaluation under updates. The standard framework takes a query plan and materializes the intermediate views, which incurs high polynomial costs in both space and time, with the join operator being the culprit. In this paper, we propose a new change propagation framework without joins, thus naturally avoiding this polynomial blowup. Meanwhile, we show that the new framework still supports constant-delay enumeration of both the deltas and the full query results, the same as in the standard framework. Furthermore, we provide a quantitative analysis of its update cost, which not only recovers many recent theoretical results on the problem, but also yields an effective approach to optimizing the query plan. The new framework is also easy to be integrated into an existing streaming database system. Experimental results show that our system prototype, implemented using Flink DataStream API, significantly outperforms other systems in terms of space, time, and latency.
翻译:我们重新审视了传统变化传播框架, 以便在更新时进行查询评估。 标准框架包含一个查询计划, 并实现了中间观点, 它在时间和空间上都产生很高的多元成本, 联合操作者是罪魁祸首。 在本文中, 我们建议了一个新的变化传播框架, 没有合并, 从而自然避免了这种多球爆炸。 与此同时, 我们显示新框架仍然支持像标准框架一样, 不断反复地罗列三角洲和完整的查询结果。 此外, 我们提供了对其更新成本的定量分析, 它不仅恢复了有关该问题的许多近期理论结果, 而且还产生了优化查询计划的有效方法。 新框架也很容易被纳入现有的流数据库系统。 实验结果显示,我们使用Flink DataStream API实施的系统原型在空间、 时间 和 latency 方面大大超越了其他系统。