Skip to main content
QUICK REVIEW

[论文解读] Queues Are Databases

Jim Gray|ArXiv.org|Jan 25, 2007
Distributed systems and fault tolerance参考文献 1被引用 13
一句话总结

本文主张消息队列本质上是数据库,提出应基于功能完整的数据库管理系统(DBMS)构建队列系统,而非作为独立的中间件。它表明队列需要并发控制、恢复、安全性和监控等数据库功能——这些功能在DBMS中已存在,因此主张采用统一的、原生数据库的队列实现,以避免功能重复,提升可靠性和性能。

ABSTRACT

Message-oriented-middleware (MOM) has become an small industry. MOM offers queued transaction processing as an advance over pure client-server transaction processing. This note makes four points: Queued transaction processing is less general than direct transaction processing. Queued systems are built on top of direct systems. You cannot build a direct system atop a queued system. It is difficult to build direct, conversational, or distributed transactions atop a queued system. Queues are interesting databases with interesting concurrency control. It is best to build these mechanisms into a standard database system so other applications can use these interesting features. Queue systems need DBMS functionality. Queues need security, configuration, performance monitoring, recovery, and reorganization utilities. Database systems already have these features. A full-function MOM system duplicates these database features. Queue managers are simple TP-monitors managing server pools driven by queues. Database systems are encompassing many server pool features as they evolve to TP-lite systems.

研究动机与目标

  • 挑战现有消息队列与数据库之间的架构分离,论证队列本质上是数据库系统。
  • 指出由于队列的无状态和异步特性,无法可靠地构建直接、对话式或分布式事务。
  • 倡导将队列功能直接集成到标准DBMS中,以利用现有的ACID属性、安全性和监控等功能。
  • 证明全功能MOM系统本质上是重新实现DBMS功能,导致冗余和低效。
  • 提出队列管理器比DBMS更简单,但DBMS应演进以原生支持队列语义,作为更广泛TP-lite模型的一部分。

提出的方法

  • 分析消息导向中间件(MOM)与传统直接事务处理系统之间的架构关系。
  • 论证队列事务处理是直接处理的受限形式,无法用于实现后者。
  • 识别出对健壮队列系统至关重要的核心数据库功能,如并发控制、恢复、配置、监控和重组。
  • 提出应将这些功能在标准DBMS中实现,而非在孤立的MOM系统中。
  • 利用MOM系统复制DBMS功能的事实,论证架构统一的必要性。
  • 建议DBMS应演进以原生支持队列语义,将队列视为具有完整事务保证的一流数据库对象。

实验结果

研究问题

  • RQ1能否有意义地将消息队列重新解释为一种数据库系统形式?
  • RQ2为何无法在队列系统之上可靠构建直接或对话式事务处理?
  • RQ3哪些数据库功能对可靠队列管理至关重要,为何应原生支持于DBMS中?
  • RQ4MOM系统中DBMS功能的重复如何导致低效和技术债务?
  • RQ5DBMS为原生支持基于队列的工作负载作为TP-lite模型的一部分,需要何种架构演进?

主要发现

  • 队列事务处理表达能力较弱,无法支持直接、对话式或分布式事务,因此不适合作为这些系统的基石。
  • 队列系统本质上需要数据库级别的功能,如并发控制、恢复、安全性、配置和性能监控。
  • 全功能MOM系统实际上重新实现了核心DBMS功能,导致冗余和复杂性增加。
  • 由于队列固有的状态和控制流丢失,无法在队列系统之上构建直接事务系统。
  • 最稳健高效的方法是将队列功能直接嵌入标准DBMS中,利用现有的数据库基础设施。
  • 数据库系统更有能力通过原生支持队列语义及相关功能,演进为综合的TP-lite平台。

更好的研究,从现在开始

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

无需绑定信用卡

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