当前位置: X-MOL 学术Inf. Syst. Front. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Exploiting Shared Sub-Expression and Materialized View Reuse for Multi-Query Optimization
Information Systems Frontiers ( IF 6.9 ) Pub Date : 2024-06-25 , DOI: 10.1007/s10796-024-10506-w
Bala Gurumurthy , Vasudev Raghavendra Bidarkar , David Broneske , Thilo Pionteck , Gunter Saake

Querying in isolation lacks the potential of reusing intermediate results, which ends up wasting computational resources. Multi-Query Optimization (MQO) addresses this challenge by devising a shared execution strategy across queries, with two generally used strategies: batched or cached. These strategies are shown to improve performance, but hardly any study explores the combination of both. In this work we explore such a hybrid MQO, combining batching (Shared Sub-Expression) and caching (Materialized View Reuse) techniques. Our hybrid-MQO system merges batched query results as well as caches the intermediate results, thereby any new query is given a path within the previous plan as well as reusing the results. Since caching is a key component for improving performance, we measure the impact of common caching techniques such as FIFO, LRU, MRU and LFU. Our results show LRU to be the optimal for our usecase, which we use in our subsequent evaluations. To study the influence of batching, we vary the factor - derivability - which represents the similarity of the results within a query batch. Similarly, we vary the cache sizes to study the influence of caching. Moreover, we also study the role of different database operators in the performance of our hybrid system. The results suggest that, depending on the individual operators, our hybrid method gains a speed-up between 4x to a slowdown of 2x from using MQO techniques in isolation. Furthermore, our results show that workloads with a generously sized cache that contain similar queries benefit from using our hybrid method, with an observed speed-up of 2x over sequential execution in the best case.



中文翻译:


利用共享子表达式和物化视图重用进行多查询优化



孤立查询缺乏重用中间结果的潜力,这最终会浪费计算资源。多查询优化 (MQO) 通过设计跨查询的共享执行策略来解决这一挑战,其中有两种常用策略:批处理或缓存。这些策略被证明可以提高绩效,但几乎没有任何研究探索两者的结合。在这项工作中,我们探索了这种混合 MQO,结合了批处理(共享子表达式)和缓存(物化视图重用)技术。我们的混合 MQO 系统合并批量查询结果并缓存中间结果,从而为任何新查询提供先前计划内的路径并重用结果。由于缓存是提高性能的关键组成部分,因此我们测量了 FIFO、LRU、MRU 和 LFU 等常见缓存技术的影响。我们的结果表明 LRU 对于我们的用例来说是最佳的,我们在后续评估中使用它。为了研究批处理的影响,我们改变了因子 - 可导性 - 它表示查询批次内结果的相似性。同样,我们改变缓存大小来研究缓存的影响。此外,我们还研究了不同数据库操作员在混合系统性能中的作用。结果表明,根据各个操作员的不同,我们的混合方法比单独使用 MQO 技术获得了 4 倍到 2 倍的加速。此外,我们的结果表明,具有大量缓存且包含类似查询的工作负载受益于使用我们的混合方法,在最好的情况下,观察到的速度比顺序执行提高了 2 倍。

更新日期:2024-06-25
down
wechat
bug