Part 2. 분산 데이터 복제란 네트워크로 연결된 여러 장비에 동일한 데이터의 복사본을 유지한다는 의미다. 데이터 복제가 필요한 여러 이유가 있다. 지리적으로 사용자와 가깝게 데이터를 유지해 지연 시간을 줄인다. 시스템의 일부에 장애가 발생해도 지속적으로 동작할 수 있게 해 가용성을 높인다. 읽기 질의를 제공하는 장비의 수를 확장해 읽기 처리량을 늘린다. 복제 중인 데이터가 변경되지 않는다면 복제는 쉽다. 복제에서 모든 어려움은 복제된 데이터의 변경 처리에 있다. 노드 간 변경을 복제하기 위한 세 가지 인기 있는 알고리즘인 single-leader(단일 리더), multi-leader(다중 리더), leaderless(리더 없는) 복제를 살펴본다. 거의 모든 분산 데이터베이스는 이 세 가지 방법 중 하..