Distributed System
Erasure coding
미르(Мир)
2021. 12. 10. 22:03
Fault tolerance를 보장함과 동시에 스토리지의 저장 공간 효율성을 높이기 위해 설계된 데이터 복제 방식
- 데이터를 사용되는 알고르짐에 따라 n개의 block들로 나눈다
- Erasure code 코덱을 사용하여 K개의 Parity block을 생성
사용가능한 알고리즘 |
Reed Solomon (RS) : 최대 손실 허용 갯수가 n개와 k개에 따라 달라짐 -> RAID에서 사용중인 기법 |
XOR : 손실을 허용하는 갯수 1개의 블록이기 때문에 제한적임 |
기본적으로 데이터를 저장할 경우 3 copy를 두는 데 (ex : master - slave - slave) 이럴경우 데이터가 쌓이면 쌓일 수록 급격하게 커지기 때문에 많은 곳에서 사용중
단점
- EC를 사용하면 복잡성이 추가되고 장애 복구 비용이 많이 들게됨
-> 분산 스토리지에서 데이터 블록을 가져와서 인코딩 / 디코딩 이 필요하기 때문