Distributed Systems
용어 정리
이레이저 코딩 용어 정리
기본 개념:
- 이레이저 코딩(Erasure Coding): 데이터 중 일부가 손실되더라도 복구할 수 있게 해주는 기술
- 청크(Chunk): 데이터를 분할한 단위, 각 청크는 별도의 저장소에 분산 저장됨
- 데이터 청크(Data Chunk): 원본 데이터를 저장하는 청크
- 코딩 청크/패리티 청크(Coding/Parity Chunk): 데이터 복구에 사용되는 추가 정보를 담은 청크
코딩 매개변수:
- K: 데이터 청크의 수
- M: 코딩/패리티 청크의 수
- K+M: 총 청크 수로, 시스템이 최대 M개의 청크 손실까지 견딜 수 있음
알고리즘:
- Reed-Solomon: 널리 사용되는 이레이저 코딩 알고리즘, 어떤 K개의 청크로도 원본 데이터 복구 가능
- LRC(Local Reconstruction Codes): 일부 데이터는 로컬 패리티로 빠르게 복구하도록 최적화된 코드
- SHEC(Shingled Erasure Code): 복구 성능을 개선한 코드
- CLAY(Coupled-Layer): 복구 시 네트워크 사용량을 최소화하는 최적 복구 코드
Ceph 관련 용어:
- 플러그인(Plugin): 다양한 이레이저 코딩 알고리즘을 구현한 모듈
- CRUSH: Ceph의 데이터 배치 알고리즘으로, 데이터를 물리적 장치에 분산 배치
- CRUSH 규칙(Rule): 데이터 배치 정책을 정의
- 실패 도메인(Failure Domain): 함께 실패할 수 있는 구성 요소 집합(예: 랙, 호스트)
성능 관련 용어:
- 인코딩(Encoding): 원본 데이터를 데이터 청크와 코딩 청크로 변환하는 과정
- 디코딩(Decoding): 사용 가능한 청크에서 원본 데이터를 복구하는 과정
- 스트라이프(Stripe): 함께 인코딩되는 데이터 집합
- 최소 복구 집합(Minimum Recovery Set): 데이터 복구에 필요한 최소 청크 집합