Skip to main content
QUICK REVIEW

[논문 리뷰] Keyspace: A Consistently Replicated, Highly-Available Key-Value Store

Márton Trencséni, Attila Gazsó|arXiv (Cornell University)|2012. 09. 18.
Distributed systems and fault tolerance참고 문헌 4인용 수 5
한 줄 요약

Keyspace는 네트워크 장애 및 노드 장애 상황에서도 모든 노드가 동일한 데이터 상태를 유지하도록 보장하는 분산형, 강한 일致성, 고가용성 키-값 스토어이다. 다수의 노드가 온라인 및 연결되어 있는 것을 요구함으로써 장애 내성과 고가용성을 달성하며, 명령어 패킹 및 커밋 체이닝 최적화를 통해 성능을 향상시킨다. 실제로 최대 약 100,000건의 연산을 초당 처리할 수 있다.

ABSTRACT

This paper describes the design and architecture of Keyspace, a distributed key-value store offering strong consistency, fault-tolerance and high availability. The source code is available under the open-source AGPL license for Linux, Windows and BSD-like platforms. As of 2012, Keyspace is no longer undergoing active development.

연구 동기 및 목표

  • 네트워크 장애 및 노드 장애 상황에서도 모든 노드 간 강한 일치성을 보장하는 분산 키-값 스토어를 설계한다.
  • 다수의 노드가 기능하는 한 시스템이 계속 운영될 수 있도록 하여 고가용성을 달성한다.
  • 메시지 손실, 재정렬, 네트워크 분할과 같은 일반적인 네트워크 문제에 대한 장애 내성 구현.
  • 일致성 복제를 통해 분산 시스템의 과제를 추상화함으로써 클라이언트 측 복잡성을 최소화한다.
  • 명령어 패킹, Multipaxos, 커밋 체이닝과 같은 기법을 통해 성능을 최적화하면서도 일치성을 손상시키지 않는다.

제안 방법

  • 모든 노드가 동일한 순서로 쓰기 명령어를 복제하도록 Paxos 공식 합의 알고리즘을 사용하여 모든 노드가 동일한 상태를 유지하도록 보장한다.
  • 마스터-슬레이브 복제 모델을 활용하여 쓰기 및 안전 읽기 작업은 오직 마스터에서만 처리되며, 일치성을 보장한다.
  • 두 가지 캐치업 메커니즘을 구현: 단기 지연은 로그 수신을 통해, 장기 지연은 마스터로부터 전체 데이터베이스 복사본을 통해 처리한다.
  • epoll, kqueue 또는 완료 포트를 사용한 비동기 I/O를 통해 고처리량 네트워크 작업을 효율적으로 처리한다.
  • 클라이언트 작업을 하나의 Paxos 라운드에 병합함으로써 네트워크 라운드트립 수를 줄이는 명령어 패킹을 적용한다.
  • 다음 Paxos 라운드까지 디스크 동기화를 연기함으로써 I/O 오버헤드를 줄이고 강한 일치성을 유지하는 커밋 체이닝을 사용한다.

실험 결과

연구 질문

  • RQ1실제 네트워크 장애, 예를 들어 메시지 손실 및 네트워크 분할 상황에서도 분산 키-값 스토어가 어떻게 강한 일치성을 유지할 수 있는가?
  • RQ2시스템 크기와 구성은 어떤 것이며, 분산 키-값 스토어에서 장애 내성과 함께 살아있는 확률을 최대화하는가?
  • RQ3강한 일치성을 훼손하지 않으면서 네트워크 및 디스크 I/O 오버헤드를 어떻게 최소화할 수 있는가?
  • RQ4복제된 키-값 스토어에서 일치성, 가용성, 성능 간의 상호 교환 관계는 무엇인가?
  • RQ5다운되거나 연결이 끊긴 노드가 최소한의 운영자 간섭으로 현재 시스템 상태에 얼마나 신속하게 동기화할 수 있는가?

주요 결과

  • Keyspace는 성공을 반환하기 전에 다수의 노드에 모든 쓰기 작업이 커밋되도록 보장함으로써 강한 일치성을 보장한다.
  • 노드 가용성이 95%일 경우, 3노드 클러스터에서는 99.27%의 라이브니스 확률을, 5노드 클러스터에서는 99.88%의 라이브니스 확률을 유지한다.
  • 디스크 동기화 지연으로 인해 복제된 쓰기 처리량은 약 12MB/sec에 도달하여 포화 상태에 이르며, ~1000바이트보다 큰 값에서는 성능이 저하된다.
  • 단일 클라이언트 읽기 처리량은 마스터가 다른 노드와의 통신 없이 모든 안전 읽기 작업을 처리하므로 싱글 서버 환경과 동일하게 유지된다.
  • 명령어 패킹과 커밋 체이닝은 네트워크 라운드트립 수와 디스크 I/O를 크게 줄여 전체 처리량과 효율성을 향상시킨다.
  • 기본 설정에서 시스템은 최대 약 100,000건의 연산을 초당 처리할 수 있으며, 성능은 하드웨어, 캐시 크기, 데이터 액세스 패턴에 따라 달라진다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.