시스템 아키텍트로서 우리는 설계할 때 어떤 일관성을 적용할지 선택해야 합니다. 어떻게 할 수 있을지 알아보기에 앞서, 설명에 사용할 용어부터 먼저 알고 넘어갑시다.
• n = 레플리카의 총 개수
• r = 데이터를 읽을 때 참조할 레플리카 수
• w = 데이터를 쓸 때 반영할 레플리카 수
시스템은 전체 레플리카 n개를 활용하지만, 실제 읽기나 쓰기 작업에서 일관성을 평가할 때는 레플리카 r개 또는 w개만 사용합니다. 이런 구성에 따라 선택할 수 있는 방식은 다음 표와 같습니다.
▼ 표 2-1 사용하는 레플리카 수에 따른 활용 방식과 특징
|
선택 가능한 방식 |
일관성 형태 |
쓰기 속도 |
읽기 속도 |
|
w = 1, r = 3 |
강한 일관성 |
빠름 |
느림 |
|
w = 3, r = 1 |
강한 일관성 |
느림 |
빠름 |
|
w = 2, r = 2 |
강한 일관성 |
동일한 속도 |
동일한 속도 |
|
w = 1, r = 1 |
최종 일관성 |
빠름 |
빠름 |