Skip to main content
QUICK REVIEW

[论文解读] SharedDB: Killing One Thousand Queries With One Stone

Georgios Giannikis, Gustavo Alonso|arXiv (Cornell University)|Mar 1, 2012
Advanced Database Systems and Queries参考文献 26被引用 16
一句话总结

SharedDB 提出了一种新颖的、面向批处理的数据库架构,通过在数百个并发查询和更新之间共享计算,提升了高并发环境下的性能和响应时间保障。通过将查询分批并执行单一、统一的重叠操作(如对共享的客户和订单数据进行多表连接),该系统在 TPC-W 基准测试中实现了顶级商用数据库两倍的吞吐量,接近 MySQL 的八倍,即使在不可预测的混合工作负载下依然表现优异。

ABSTRACT

Traditional database systems are built around the query-at-a-time model. This approach tries to optimize performance in a best-effort way. Unfortunately, best effort is not good enough for many modern applications. These applications require response time guarantees in high load situations. This paper describes the design of a new database architecture that is based on batching queries and shared computation across possibly hundreds of concurrent queries and updates. Performance experiments with the TPC-W benchmark show that the performance of our implementation, SharedDB, is indeed robust across a wide range of dynamic workloads.

研究动机与目标

  • 解决传统逐查询处理的数据库系统在高并发环境下难以满足严格服务等级协议(SLA)的问题。
  • 克服现有系统中并发查询与更新之间相互干扰导致的性能下降和资源争用问题。
  • 设计一种通用数据库架构,能够处理多样工作负载(包括 OLTP、OLAP 和混合工作负载),同时保持响应时间保障。
  • 通过共享执行与查询批处理,实现对动态、不可预测查询组合的高效可扩展处理,无需手动调优或负载控制机制。

提出的方法

  • 将多个并发查询和更新合并为单一执行计划,以实现重叠数据访问模式之间的共享计算。
  • 对相关元组的并集(如德国和瑞士客户)执行单次统一连接操作,同时服务多个查询,减少冗余计算。
  • 定义与并发查询数量无关的最坏情况计算上限(全表连接),确保性能可预测地扩展。
  • 采用并泛化多查询优化与数据流处理技术(如 QPipe、CJoin、DataPath)的应用范围,使其不仅适用于 OLAP 工作负载。
  • 实现一个运行时系统,动态调度和协调查询与更新的共享执行,最大限度减少每查询的开销。
  • 利用标准关系代数算子并扩展其功能以支持共享执行计划,确保与标准 SQL 和关系操作的向后兼容性。

实验结果

研究问题

  • RQ1在高并发、混合工作负载场景下,面向批处理的共享计算模型是否能超越传统逐查询处理系统?
  • RQ2在数百个具有重叠访问模式的并发查询中,共享执行能在多大程度上减少冗余计算?
  • RQ3SharedDB 如何在无需负载控制或查询优先级机制的情况下,维持低延迟与高吞吐量?
  • RQ4该共享计算模型能否泛化以同时支持 OLTP 和 OLAP 工作负载,包括频繁的小型更新和复杂的分析查询?
  • RQ5当查询谓词差异显著、完全共享不可行时,共享执行的可扩展性上限是什么?

主要发现

  • 在高负载下,SharedDB 在 TPC-W 基准测试中实现的吞吐量最高可达顶级商用关系型数据库系统的两倍,接近 MySQL 的八倍。
  • 即使混合处理轻量级查询(如“按标题搜索商品”)和重量级查询(如“畅销商品”),系统仍保持稳健性能,轻量级查询的响应时间无任何下降。
  • 随着并发查询数量增加,共享机会增多,吞吐量单调上升,表明在动态工作负载下具备强大可扩展性。
  • 在极端工作负载下,SharedDB 的性能仍比 MySQL 和商用系统高出三倍,即使后者出现吞吐量崩溃。
  • 系统在不同硬件配置和查询多样性水平下均表现出稳定且可预测的性能,证实其在真实场景中的鲁棒性。
  • 尽管每查询开销限制了完美扩展,SharedDB 的可扩展性仍显著优于传统系统,尤其在混合且不可预测的工作负载中。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。