Cornus:带存储分解的云DBMS的原子提交(扩展版)
Cornus: Atomic Commit for a Cloud DBMS with Storage Disaggregation (Extended Version)
摘要:
两阶段提交(Two-Phase Commit,2 PC)是分布式数据库中广泛使用的一种保证分布式事务原子性的提交机制。然而,2 PC有两个局限性。首先,它需要在关键路线上进行两次急切日志写入,这会导致很大的延迟。第二,当协调器失败时,参与者可能会被阻止等待协调器的决定,导致无限长的延迟和低吞吐量。2 PC最初是为无共享架构设计的。我们观察到,上述两个问题可以在一个新兴的存储解聚体系结构中解决,该体系结构在存储层中提供比较和交换功能。我们提出了Cornus,一个优化的2 PC协议的云数据库管理系统与存储分解。我们目前山茱萸详细证明,并显示它如何解决2 PC中的两个限制。我们还将其部署在真实的存储服务上,包括Azure Blob Storage和Redis。经验评估表明,Cornus可以在2 PC上实现高达1.9倍的延迟加速。
英文摘要:
Two-phase commit (2PC) is widely used in distributed databases to ensure the atomicity of distributed transactions. However, 2PC has two limitations. First, it requires two eager log writes on the critical path, which incurs significant latency. Second, when a coordinator fails, a participant may be blocked waiting for the coordinator's decision, leading to indefinitely long latency and low throughput. 2PC was originally designed for a shared-nothing architecture. We observe that the two problems above can be addressed in an emerging storage disaggregation architecture which provides compare-and-swap capability in the storage layer. We propose Cornus, an optimized 2PC protocol for Cloud DBMS with Storage Disaggregation. We present Cornus in detail with proofs and show how it addresses the two limitations in 2PC. We also deploy it on real storage services including Azure Blob Storage and Redis. Empirical evaluations show that Cornus can achieve up to 1.9x speedup in latency over 2PC.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。