[38일차] | 대규모 시스템 설계 기초2 | 책너두

Heechan Kang·2025년 2월 19일
0
post-thumbnail

데이터 내구성

  • 데이터 내구성은 저장 시스템에 있어 핵심적인 요소이다.

하드웨어 장애와 장애 도메인

  • 아무리 뛰어난 설계를 가진 소프트웨어 제품이라도, 하드웨어 장애는 피할 수 없다.
  • 일반적으로 하드 디스크의 연간 장애율은 0.81%라고 한다. - 출처
    • 이를 기반으로 6 nines(99.9999%)의 내구성을 만족하기 위해서는 최소 3중 복사가 필요하다.
      • 0.81 0.81 0.81 = 0.999999..
  • 인프라를 공유하지 않는 완전한 분리를 위해서는 가용 영역(AZ)를 분리해야 한다.
    • 가용 영역(가용성 구역, Availability Zone)은 전원, 시설 등 모든 서버의 구성요소(인프라)가 독립적으로 구성된 영역이다.

소거 코드

  • 소거 코드(삭제 코드; 이레이저 코딩; erasure coding)는

    • 데이터를 여러 블록으로 분할하고, 각 블록을 여러 디스크에 복사하여 데이터를 보호한다.
    • 이렇게 하면 데이터 노드 중 일부가 장애가 발생하더라도 데이터를 복구할 수 있다.
  • 소거 코드의 원리

    • 9-15-data-recovery-using-erasure-coding
      1. 데이터를 네 개의 단위 크기로 분할한다.
      2. 수학 공식을 사용하여 패리티 블록(p1, p2)를 계산한다.
      3. 데이터 d3, d4가 소실되었다고 가정하면,
      4. 남은 값 d1, d2, p1, p2를 사용하여 데이터 d3, d4를 복구 할 수 있다.
  • 소거 코드의 특징과 일반적인 다중화 방법과의 비교

    구분다중화소거 코드
    내구성99.9999%(6nines, 3중 복제)99.999999999%(11nines, 8+4 소거코드)
    저장공간200% 오버헤드50% 오버헤드
    계산 자원계산 필요 없음계산 필요
    쓰기 성능계산 필요 없음계산 필요. 응답속도 저하
    읽기 성능계산 필요 없음계산 필요. 최대 8개의 노드에서 데이터를 가져와야 함. 응답속도 저하

정확성 검증

  • 디스크 뿐만 아니라 메모리의 데이터가 손상되는 경우도 발생함.
  • 이를 위해 체크섬(checksum)을 사용하여 데이터의 정확성을 검증함.
profile
안녕하세요!

0개의 댓글