[论文解读] The End of a Myth: Distributed Transactions Can Scale
本文提出 NAM-DB,一种可扩展的分布式数据库系统,通过使用 RDMA 网络和重新设计的架构,实现了分布式事务的线性扩展。通过利用单边 RDMA 操作和高效的时戳管理,NAM-DB 在 56 台机器上运行 TPC-C 基准测试时,实现了每秒 650 万笔新订单事务(总计 1450 万笔事务/秒),证明了当硬件与系统设计与现代低延迟、高带宽网络相匹配时,分布式事务是可以实现可扩展性的。
The common wisdom is that distributed transactions do not scale. But what if distributed transactions could be made scalable using the next generation of networks and a redesign of distributed databases? There would be no need for developers anymore to worry about co-partitioning schemes to achieve decent performance. Application development would become easier as data placement would no longer determine how scalable an application is. Hardware provisioning would be simplified as the system administrator can expect a linear scale-out when adding more machines rather than some complex sub-linear function, which is highly application specific. In this paper, we present the design of our novel scalable database system NAM-DB and show that distributed transactions with the very common Snapshot Isolation guarantee can indeed scale using the next generation of RDMA-enabled network technology without any inherent bottlenecks. Our experiments with the TPC-C benchmark show that our system scales linearly to over 6.5 million new-order (14.5 million total) distributed transactions per second on 56 machines.
研究动机与目标
- 挑战广泛存在的观点,即分布式事务由于性能瓶颈而本质上无法扩展。
- 解决分布式事务可扩展性差的根本原因,特别是 TCP/IP 协议栈带来的 CPU 开销和网络带宽限制。
- 重新设计数据库系统架构,以充分利用下一代 RDMA 网络,消除中心化协调器并降低延迟。
- 在无需应用层共分区或复杂数据放置策略的情况下,实现分布式事务的线性扩展。
- 证明快照隔离(一种常见隔离级别)可以利用单边 RDMA 操作高效且可扩展地实现。
提出的方法
- 设计一种无共享、以 RDMA 优先的架构,将计算节点与存储节点解耦,以最小化网络和 CPU 开销。
- 实现单边 RDMA 操作,消除节点间数据传输过程中的 CPU 参与,降低延迟并提高带宽利用率。
- 设计一种可扩展的时戳生成机制,用于快照隔离,确保可串行化且无需中心化协调。
- 使用 RDMA 原子操作高效协调跨节点的事务提交阶段,避免因中心化管理器导致的瓶颈。
- 优化事务处理逻辑,使在检测到冲突后立即重试已中止的事务,最大限度减少空闲时间并提升吞吐量。
- 利用高带宽、低延迟的 InfiniBand 网络(如 FDR 4×)实现内存带宽级别的网络性能,使网络 I/O 不再成为瓶颈。
实验结果
研究问题
- RQ1当底层网络基础设施通过 RDMA 支持高带宽和低延迟时,分布式事务是否可以实现可扩展?
- RQ2除了将以太网升级为 RDMA 外,还需要哪些架构上的改变才能使分布式事务实现可扩展?
- RQ3如何利用单边 RDMA 操作高效实现快照隔离,而不会引入协调瓶颈?
- RQ4去中心化协调在多节点分布式数据库中对水平扩展的改善程度如何?
- RQ5当网络和 CPU 开销被最小化时,分布式事务的性能是否可以在数百台机器上实现线性扩展?
主要发现
- NAM-DB 在 56 台机器上实现了近乎完美的线性扩展,TPC-C 基准测试中持续维持每秒 650 万笔新订单事务(总计每秒 1450 万笔事务)。
- 该系统表明,传统分布式数据库中的主要瓶颈是网络带宽和 TCP/IP 协议栈的 CPU 开销,而非分布式事务本身固有的限制。
- 通过使用单边 RDMA 操作,系统显著降低了网络处理开销,并实现了内存带宽级别的网络性能,使网络 I/O 不再成为可扩展性的瓶颈。
- 中止率仅随工作负载偏斜度增加而上升,而非由网络或协调开销引起,证实了在均匀工作负载下系统实现了线性扩展。
- 去中心化协调器的缺失以及基于 RDMA 的协调机制,使得性能可预测地线性扩展,且无需应用层共分区约束。
- 研究结果推翻了长期存在的误解,即分布式事务无法扩展,表明其可扩展性仅受工作负载本身限制,而非系统架构或网络设计。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。