도구스개발

소거부호(k+m) 저장 오버헤드 계산기

데이터 조각 k개와 패리티 m개로 나눴을 때의 저장 오버헤드 (k+m)/k를 3중 복제와 나란히 놓습니다. 6+3이면 1.5배로 3개까지 견디지만 조각 하나를 되살리는 데 6조각을 읽어야 한다는 복구 비용까지 함께 냅니다.

3개까지 잃어도 됩니다

TB
%

디스크는 보통 1~3%

시간

RS(6,3) 저장 오버헤드

1.5배

조각 9개 중 3개까지 잃어도 됩니다 · 3중 복제(3배)보다 150TB 아낍니다 · 대신 조각 하나를 되살리는 데 6조각을 읽습니다

저장 오버헤드 (k+m)/k1.5
저장 효율66.667%
실제로 쓰는 공간150 TB
3중 복제였다면300 TB
아끼는 공간150 TB
조각 하나의 크기16.6667 TB
필요한 고장 영역 (랙·노드)9개 이상
같은 내구성을 복제로 얻으려면4
조각 하나 복구에 읽는 조각6
그때 흐르는 데이터100 TB
복제였다면16.6667 TB
복구 트래픽 증폭6
복구 창 동안 조각 하나가 죽을 확률5.4795×10^-5
한 창에서 데이터를 잃을 확률1.1356×10^-15
연간 손실 사건 기대값4.1449×10^-13
내구성12.38 나인
구성오버헤드견딤복구 읽기내구성
복제 2벌211조각5.96 나인
복제 3벌321조각10.22 나인
RS(4,2)1.524조각8.92 나인
RS(6,3)1.536조각12.38 나인
RS(8,4)1.548조각15.85 나인
RS(10,4)1.4410조각15.44 나인
RS(12,4)1.333412조각15.1 나인
RS(17,3)1.176317조각10.8 나인

같은 고장률·복구 시간을 넣었을 때의 값입니다

계산 근거오버헤드 = (k + m)/k = (6 + 3)/6 = 1.5p = AFR × (복구시간/8760) · P(손실) = Σ_(i>m) C(n,i)pⁱ(1−p)^(n−i)연간 손실 ≈ (8760/복구시간) × P(손실) = 4.1449×10^-13k + m 조각 가운데 아무 k개만 남으면 원본을 되살릴 수 있습니다. 리드–솔로몬 부호가 대표적이며, 조각을 서로 다른 랙이나 존에 흩뿌려야 뜻이 있습니다.
같은 내구성을 훨씬 싸게 얻는 것이 소거부호의 요점입니다. 3중 복제는 2개까지 잃어도 되지만 공간이 3배 듭니다. RS(6,3)은 3개까지 견디면서 1.5배뿐이라, 100TB를 저장할 때 150TB를 아낍니다. 조각 수를 늘릴수록 이 이득이 커져서 RS(17,3)이면 1.18배로 3개를 견딥니다.
대신 복구 비용이 복제보다 6배 큽니다. 복제본이라면 죽은 조각을 살아 있는 사본에서 그대로 읽어 오면 되지만(1조각), 소거부호는 6조각을 읽어 계산해야 합니다. 디스크가 자주 죽는 큰 클러스터에서는 이 복구 트래픽이 망을 잡아먹습니다. k를 키워 공간을 아끼면 복구 비용이 그만큼 커지는 맞바꿈이고, 이것을 줄이려고 나온 것이 국소 복구 부호(LRC) 같은 변형입니다.
읽기 지연에도 영향이 있습니다. 조각이 살아 있으면 그대로 읽으면 되지만, 죽어 있으면 그 자리에서 6조각을 모아 계산해야 해서 꼬리 지연이 튑니다. 그래서 자주 읽는 «뜨거운» 데이터는 복제로 두고, 오래 두고 가끔 읽는 «차가운» 데이터만 소거부호로 옮기는 것이 흔한 구성입니다.
위의 연간 손실 확률은 자릿수 비교로만 쓰십시오. 조각이 서로 독립적으로 죽는다고 가정한 값인데, 이 가정이 현실과 다릅니다. 같은 랙의 전원, 같은 배치의 디스크, 같은 펌웨어 버그, 데이터센터 정전은 여러 조각을 한꺼번에 죽입니다. 실제 시스템이 조각을 다른 랙·다른 존에 흩뿌리는 것이 그래서이며, 그렇게 해도 완전히 독립이 되지는 않습니다. «11 나인이냐 13 나인이냐» 같은 비교로만 쓰고 절대값으로 믿지 마십시오.
조각은 서로 다른 고장 영역에 두어야 합니다. RS(6,3)이라면 최소 9개의 서로 다른 노드나 랙이 필요합니다. 두 조각이 같은 서버에 있으면 그 서버 하나가 죽을 때 두 조각을 한꺼번에 잃어, 계산상의 내구성이 그대로 무너집니다.

사용 방법

  1. 1데이터 조각 k와 패리티 조각 m을 정합니다. 아래 버튼으로 널리 쓰이는 구성을 바로 넣을 수 있습니다.
  2. 2저장할 원본 크기를 넣으면 실제로 쓰는 공간과 3중 복제 대비 아끼는 양이 나옵니다.
  3. 3조각 하나의 연간 고장률과 복구 시간을 넣으면 내구성이 몇 나인인지 나옵니다.
  4. 4«복구 트래픽 증폭» 행을 반드시 보십시오. k가 클수록 이 값이 커집니다.
  5. 5아래 표에서 복제와 여러 RS 구성을 같은 조건으로 견줍니다.

자주 묻는 질문

데이터를 k개 조각으로 나누고 패리티 m개를 더해, k + m개 가운데 아무 k개만 남으면 원본을 되살릴 수 있게 하는 방식입니다. 곧 m개까지 잃어도 괜찮고, 저장 공간은 (k+m)/k배만 듭니다. 리드–솔로몬 부호가 대표적이며 오브젝트 스토리지와 분산 파일 시스템에서 널리 씁니다.

3중 복제는 2개까지 잃어도 되지만 공간이 3배 듭니다. RS(6,3)은 3개까지 견디면서 1.5배뿐이고, RS(17,3)이면 1.18배로 3개를 견딥니다. 100TB를 저장한다면 3중 복제가 300TB, RS(6,3)이 150TB를 씁니다.

복구 비용 때문입니다. 복제본이라면 죽은 조각을 살아 있는 사본에서 그대로 읽어 오면 되지만, 소거부호는 k조각을 읽어 계산해야 합니다. RS(10,4)라면 조각 하나를 되살리는 데 10조각이 흘러야 하므로 디스크가 자주 죽는 큰 클러스터에서는 복구 트래픽이 망을 잡아먹습니다. 읽기도 마찬가지여서, 조각이 죽어 있으면 그 자리에서 k조각을 모아야 해 꼬리 지연이 튑니다.

m은 «동시에 몇 개까지 죽어도 되는가», k는 «공간과 복구 비용의 맞바꿈»으로 정합니다. m을 하나 늘리면 내구성이 자릿수 단위로 좋아지고, k를 늘리면 공간은 아끼지만 복구에 읽어야 할 조각이 그만큼 늘어납니다. 흔히 쓰는 값은 RS(6,3), RS(10,4), RS(12,4)이고 저장 비용이 특히 중요한 곳은 RS(17,3)까지 갑니다.

자릿수 비교로만 쓰십시오. 이 계산기는 조각이 서로 독립적으로 죽는다고 가정하는데, 이 가정이 현실과 다릅니다. 같은 랙의 전원, 같은 배치의 디스크, 같은 펌웨어 버그, 데이터센터 정전은 여러 조각을 한꺼번에 죽입니다. «11 나인이냐 13 나인이냐» 같은 비교에는 쓸 만하지만 절대값으로 믿어서는 안 됩니다.

서로 다른 고장 영역에 두어야 합니다. RS(6,3)이라면 최소 9개의 서로 다른 노드나 랙이 필요합니다. 두 조각이 같은 서버에 있으면 그 서버 하나가 죽을 때 두 조각을 한꺼번에 잃어 계산상의 내구성이 그대로 무너집니다.

발상은 같습니다. RAID 5는 RS(n−1, 1), RAID 6은 RS(n−2, 2)에 해당합니다. 다른 점은 규모와 배치로, RAID는 한 서버 안의 디스크들을 묶지만 소거부호는 여러 서버·랙·데이터센터에 걸쳐 조각을 흩뿌립니다. 그래서 서버 한 대가 통째로 죽어도 버틸 수 있습니다.

전송되지 않습니다. 계산은 모두 브라우저 안에서 이루어지며 입력한 값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 연간 손실 확률은 조각이 서로 독립적으로 죽는다는 가정 아래 구한 값입니다. 실제와는 자릿수가 다를 수 있으니 구성끼리 견주는 데만 쓰십시오.
  • 복구 시간은 조각 하나를 되살리는 데 걸리는 시간입니다. 실제로는 디스크 대역폭, 복구 동시성, 클러스터 부하에 따라 크게 달라집니다.
  • 조각을 서로 다른 고장 영역에 두었다고 가정합니다. 두 조각이 같은 서버에 있으면 이 계산이 무의미해집니다.
  • 리드–솔로몬처럼 «아무 k개면 된다»는 최대거리분리(MDS) 부호를 가정합니다. LRC 같은 변형은 복구 비용이 더 낮은 대신 견디는 조합이 제한됩니다.

함께 보면 좋은 도구

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