Thrifty query execution via incrementability

[1] 是另一篇关于物化视图维护的维护计划的研究工作。但和之前的工作 [2] 不同的是,[1] 没有考虑对不同的输入采取不同的维护计划,而是对一个视图中的不同算子使用不同的维护计划。[1] 分析了不同算子的增量计算能力,使用动态规划给出了一个视图维护的维护计划。

Asymmetric batch incremental view maintenance

之前的物化视图维护中,我们一般不会区别对待不同表的更新。但 [1] 注意到,不同表的更新会导致不同的物化视图维护开销,因此应该对这些更新使用不同的调度策略来使得整体的维护开销最低。对于维护开销和输入数据量成线性关系的更新,我们可以尽可能地实时维护来降低在查询时的延迟;而对在维护时需要扫描全表的这类更新,我们则在保障查询延迟的前提下尽可能地推迟视图的维护。[1] 对视图维护中不同输入更新的调度策略进行研究,提出了两个有效的算法。

物化视图维护的代数方法

为了保证与数据源的一致性,当数据源发生变化时,物化视图需要进行及时的更新。很多时候,数据源的变化相比于整体而言是较小的。此时使用增量更新的方式来对物化视图进行维护会更加高效。本文主要介绍维护物化视图的代数方法。这些方法可能在某些算子上无法提供最高效的维护方法,但在语义上比较直观。