매월 10PB 가량 데이터가 증가하고 있는데, 인프라스트럭처 비용 감소를 꾀하기 위해 오래된 데이터에 대해선 HDFS Erasure Coding 적용
파일이 블록 단위로 분할되는데, Replication 3x일 경우 3개의 DataNode 3개에 각각 copy
Erasure Coding 에서는 더 작은 cell 단위로 분할되고, 3개의 데이터 블록과 2개의 패리티 쉘을 분산 저장하여 장애 발생하여도 복구 가능.
데이터 복구시 ErasureCoding 은 살아있는 데이터 블록과 패리티 쉘에서 복구 가능.
높은 장애 내성을 가지면서도 저장용량 이점이 있음
-> 파일 사이즈가 큰 경우에 대해서만 Erasure Coding 을 적용하고 있음.
d1 d3 p1 으로 d2' 복구 , d2', de, p1 으로 d1' 복구하여 d1'과 d1 이 같은지 비교 -> 다르면 reconstruction 실패 처리시킴 -> 파손된 블록 생성 방지.
해당 내용은 Line 에서 오픈소스 기여하여 패치되었음.
Erasure Coding 사용 검토시 반드시 최신 버전을 사용할 것을 권장.