[논문 리뷰] The End of a Myth: Distributed Transactions Can Scale
이 논문은 RDMA 기반 네트워크와 재설계된 아키텍처를 활용하여 분산 트랜잭션에 대해 선형 확장성을 달성하는 확장 가능한 분산 데이터베이스 시스템인 NAM-DB를 제안한다. 일방적(RDMA) 작업과 효율적인 타임스탬프 관리를 통해 NAM-DB는 TPC-C 기준 56台에서 초당 650만 건의 신규 주문 트랜잭션(총 1,450만 건)을 유지할 수 있었으며, 이는 현대의 저지연, 고대역폭 네트워크와 하드웨어 및 시스템 설계가 일치할 경우 분산 트랜잭션이 확장될 수 있음을 보여준다.
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 네트워크를 최대한 활용할 수 있도록 데이터베이스 시스템 아키텍처를 재설계하여 중심적 조정자(central coordinators)를 제거하고 지연 시간을 줄이기 위해.
- 응용 프로그램 수준의 공통 파artitioning이나 복잡한 데이터 배치 전략이 필요 없이 분산 트랜잭션에 대해 선형 확장성을 가능하게 하기 위해.
- 일반적인 격리 수준인 스냅샷 일관성 격리가 일방적 RDMA 작업을 사용하여 효율적이고 확장 가능하게 어떻게 구현될 수 있는지 보여주기 위해.
제안 방법
- 계산과 스토리지 노드를 분리하여 네트워크 및 CPU 오버헤드를 최소화하는 공유 없음(shared-nothing), RDMA 우선 아키텍처를 설계하기 위해.
- 노드 간 데이터 전송에서 CPU의 관여를 제거하기 위해 일방적(RDMA) 작업을 구현하여 지연 시간을 줄이고 대역폭 활용도를 높이기 위해.
- 중앙 집중식 조정 없이도 일관성(serializability)을 보장할 수 있도록 스냅샷 일관성 격리를 위한 확장 가능한 타임스탬프 생성 메커니즘 개발하기 위해.
- 중앙 집중식 관리자에서 발생하는 병목 현상을 피하기 위해, 노드 간 트랜잭션 커밋 단계를 RDMA 원자 연산을 통해 효율적으로 조율하기 위해.
- 충돌을 감지한 후 즉시 재시도하도록 트랜잭션 처리를 최적화하여 공백 시간을 최소화하고 처리량을 향상시키기 위해.
- 고대역폭, 저지연 인피니밴드 네트워크(예: FDR 4×)를 활용하여 메모리 대역폭 수준의 네트워크 성능를 달성하여 네트워크 I/O가 더 이상 병목이 되지 않도록 하기 위해.
실험 결과
연구 질문
- RQ1RDMA를 통해 고대역폭과 저지연을 지원하는 기반 네트워크 인fra가 제공될 경우, 분산 트랜잭션은 확장될 수 있는가?
- RQ2기존 이더넷에서 RDMA로 업그레이드하는 것 외에도, 분산 트랜잭션을 확장 가능하게 하기 위해 어떤 아키텍처적 변화가 필요한가?
- RQ3중앙 집중식 조정 병목 없이 일방적 RDMA 작업을 사용하여 스냅샷 일관성 격리를 어떻게 효율적으로 구현할 수 있는가?
- RQ4중앙 집중적 조정자가 없는 것이 분산 데이터베이스에서 수평적 확장성에 얼마나 기여하는가?
- RQ5네트워크 및 CPU 오버헤드가 최소화된 상태에서, 수백 대의 머신을 가로질러 분산 트랜잭션의 성능을 선형적으로 확장할 수 있는가?
주요 결과
- NAM-DB는 56台의 머신에서 거의 완벽한 선형 확장성을 달성하여 TPC-C 벤치마크에서 초당 650만 건의 신규 주문 트랜잭션(총 초당 1450만 건의 트랜잭션)을 유지할 수 있었다.
- 시스템은 전통적인 분산 데이터베이스에서 네트워크 대역폭과 TCP/IP의 CPU 오버헤드가 주요 병목 요소임을 입증하였으며, 이는 분산 트랜잭션 자체의 본질적 제약 때문이 아니라는 것을 보여주었다.
- 일방적 RDMA 작업을 사용함으로써 네트워크 처리 오버헤드를 줄이고, 메모리 대역폭 수준의 네트워크 성능를 달성하여 네트워크 I/O가 더 이상 확장성의 병목이 되지 않음을 확인하였다.
- 실패율(abort rate)은 작업 분포의 비균형성(skewness)에 따라 증가할 뿐, 네트워크나 조정 오버헤드로 인한 것은 아니며, 이는 균일한 워크로드 하에서 시스템이 선형적으로 확장됨을 확인한다.
- 중앙 집중적 조정자가 없고 RDMA 기반 조정을 사용함으로써 응용 프로그램 수준의 공통 파artitioning 제약 없이 예측 가능하고 선형적인 성능 확장이 가능하다.
- 오랜 기간 동안 퍼진 신화인 '분산 트랜잭션은 확장되지 않는다'는 것을 뒤집었으며, 분산 트랜잭션은 시스템 아키텍처나 네트워킹의 제약이 아니라 오직 워크로드 자체에 의해 제한된다는 것을 보여주었다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.