Post

키-값 저장소 설계

키-값 저장소 설계
  • 비 관계형 데이터베이스
  • 고유식별자(key)를 키로 가짐
  • 키와 값 사이의 연결 관계를 “키-값” 쌍(pair)라고 표현

분산 키-값 저장소의 CAP 정리

데이터 일관성(Consistency), 가용성(Availability), 파티션 감내성(Partition Tolerance)라 표현하며, 동시에 3가지 요구사항을 만족하는 것은 불가능하다는 정리

image


용어 정리

데이터 일관성(Consistency)

  • 분산 시스템에 접속하는 모든 클라이언트는 어떤 노드에 접속했느냐에 관계 없이 언제나 같은 데이터를 보게 되어야 한다.

가용성(Availability)

  • 분산 시스템에 접속하는 클라이언트는 일부 노드에 장애가 발생하더라도 항상 응답을 받을 수 있어야 한다.

파티션 감내성(Partition Tolerance)

  • 파티션은 두 노드 사이에 통신 장애가 발생하였음을 의미한다. 파티션 감내는 네트워크에 파티션이 생기더라도 시스템은 계속 동작하여야 한다는 것을 뜻한다.

분산 키-값 저장소가 가져야하는 기능

목표/문제기술
대규모 데이터 저장안정 해시를 사용해 서버들에 부하 분산
읽기 연산에 대한 높은 가용성 보장여러 데이터센터에 다중화
쓰기 연산에 대한 높은 가용성 보장버저닝 및 벡터 시계를 사용한 충돌 해소
데이터 파티션안정 해시
점진적 규모 확장성안정 해시
다양성(heterogeneity)안정 해시
조절 가능한 데이터 일관성정족수 합의
일시적 장애 처리느슨한 정족수 프로토콜과 단서 후 임시 위탁
영구적 장애 처리머클 트리
데이터 센터 장애 대응여러 데이터 센터에 걸친 데이터 다중화
This post is licensed under CC BY 4.0 by the author.