도구스개발

정족수(쿼럼) 계산기

복제본 수와 읽기·쓰기 쿼럼을 넣으면 W+R>N과 W>N/2를 만족하는지 판정하고 몇 대까지 장애를 버티는지 계산합니다. 짝수 대를 두는 것이 왜 손해인지도 표로 보여 줍니다.

몇 대에 써야 «성공»으로 볼지입니다.

몇 대에게 물어봐야 «최신을 봤다»고 할지입니다.

엄격한 쿼럼을 만족합니다

W 3 · R 3 · N 5

장애 2대까지 읽기·쓰기가 모두 됩니다

W + R > N (읽기가 최신을 본다)3 + 3 = 6 > 5 · 만족
W > N/2 (쓰기끼리 겹친다)3 > 2.5 · 만족
과반수3대
쓰기가 버티는 장애2대
읽기가 버티는 장애2대
둘 다 되는 장애2대
복제본과반수버티는 장애한 대 더 놓은 값이 있나
110
220없음 (그대로)
321있음 (+1)
431없음 (그대로)
532있음 (+1)
642없음 (그대로)
743있음 (+1)
853없음 (그대로)
954있음 (+1)
짝수로 늘리면 손해입니다. 3대는 과반이 2라 1대까지 버티는데, 4대는 과반이 3이라 여전히 1대까지만 버팁니다. 한 대를 더 놓고도 버티는 힘은 그대로인데 필요한 표만 늘어난 셈입니다. 라프트나 주키퍼가 홀수 대를 권하는 이유가 이것입니다.
W + R > N은 비둘기집 원리입니다. N대 중 W대에 쓰고 R대에서 읽는데 둘을 합친 수가 N보다 크면, 겹치지 않게 고를 방법이 없습니다. 그 겹친 한 대가 최신 값을 갖고 있으니 읽기가 반드시 그것을 봅니다. W를 키우면 읽기가 가벼워지고 쓰기가 무거워지는 맞바꿈이라, 읽기가 많은 곳은 W를 크게 쓰기가 많은 곳은 R을 크게 잡습니다.
여기서 다루는 것은 엄격한 쿼럼입니다. 다이나모 계열의 «느슨한 쿼럼»은 원래 자리의 노드가 죽었을 때 다른 노드에 임시로 써 두고 나중에 넘겨주는데(hinted handoff), 가용성은 오르지만 그때는 W+R>N이 보장하던 «반드시 겹친다»가 깨집니다. 네트워크가 갈렸을 때 어느 쪽이 쓰기를 계속할지도 이 계산만으로는 정해지지 않습니다.

사용 방법

  1. 1복제본 수 N을 넣습니다.
  2. 2자주 쓰는 조합을 고르거나 쓰기 쿼럼 W와 읽기 쿼럼 R을 직접 넣습니다.
  3. 3W+R>N과 W>N/2를 만족하는지, 몇 대까지 장애를 버티는지 확인합니다.
  4. 4표에서 복제본을 한 대 더 놓는 것이 실제로 도움이 되는지 봅니다.

자주 묻는 질문

쓴 집합과 읽은 집합이 반드시 한 대 이상 겹치게 하려는 것입니다. N대 중 W대에 쓰고 R대에서 읽는데 둘을 합친 수가 N보다 크면 겹치지 않게 고를 방법이 없습니다(비둘기집 원리). 그 겹친 한 대가 최신 값을 갖고 있으므로 읽기가 반드시 최신을 봅니다.

두 쓰기가 동시에 성공하는 것을 막습니다. W가 절반 이하이면 서로 겹치지 않는 두 무리에 각각 써서 둘 다 «성공»이 될 수 있고, 나중에 어느 쪽이 최신인지 가릴 수 없게 됩니다. 그래서 쓰기 쿼럼은 과반수 이상이어야 합니다.

홀수로 두는 것이 좋습니다. 과반수는 ⌊N/2⌋+1이고 버티는 장애는 N−과반수인데, 3대는 1대까지 4대도 1대까지 버팁니다. 한 대를 더 놓고도 버티는 힘이 그대로여서, 5대(2대까지)나 7대(3대까지)처럼 홀수로 늘려야 이득이 생깁니다.

읽기가 많으면 W를 크게, 쓰기가 많으면 R을 크게 잡습니다. W=N·R=1이면 읽기가 가장 가볍지만 한 대만 죽어도 쓰기가 멈추고, W=1·R=N이면 그 반대입니다. 균형이 필요하면 W=R=과반수를 씁니다 — 라프트와 주키퍼가 쓰는 방식입니다.

원래 자리의 노드가 죽었을 때 다른 노드에 임시로 써 두고 나중에 넘겨주는 방식입니다(hinted handoff). 가용성은 오르지만 W+R>N이 보장하던 «반드시 겹친다»가 깨져 옛 값을 읽을 수 있습니다. 이 계산기는 엄격한 쿼럼만 다룹니다.

전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 엄격한 쿼럼만 다룹니다. 느슨한 쿼럼이나 네트워크가 갈렸을 때 어느 쪽이 쓰기를 계속할지 같은 문제는 이 계산만으로 정해지지 않습니다.
  • «버티는 장애 대수»는 노드가 완전히 멈춘 경우를 셉니다. 느리기만 한 노드나 갈린 네트워크는 다르게 다뤄야 합니다.
  • 읽기 복구(read repair)나 힌트 넘겨주기 같은 보완 장치는 반영하지 않았습니다. 실제 시스템은 이 조건 위에 그런 장치를 얹습니다.
  • W+R>N은 «단일 키»에 대한 보장입니다. 여러 키에 걸친 트랜잭션의 일관성은 별도의 합의 절차가 필요합니다.
  • 복제본은 99대까지 계산합니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 1일 · 결과는 참고용 추정치입니다.