스내피 (압축)

스내피(Snappy)는 구글에서 자체 개발한 압축 라이브러리이며, 최고의 압축률 보다는 적정 수준의 압축률을 제공하면서 빠르게 압축하고 해제하는 것을 목표로 한다. 또한 초당 250MB 정도를 압축하고, 다른 압축에 비해 CPU 자원도 덜 소모한다. 스내피의 공식 홈페이지에서 여기서 간단한 소개문서와 라이브러리를 다운로드할 수 있다.

매퍼의 출력 데이터를 압축하지 않았을 때, Gzip과 스내피로 매퍼의 출력 데이터를 압축했을 때의 성능을 비교할 경우, 스터디용으로 만든 500메가 정도의 데이터를 분석했더니 아래와 같은 결과가 나왔다.

카운터압축 미적용Gzip 적용스내피 적용맵리듀스 잡 수행 시간1분14초1분40초1분2초FILE_BYTES_READ370,448,652908,88517,652,690HDFS_BYTES_READ445,384,492445,384,492445,384,492FILE_BYTES_WRITTEN555,848,8551,536,51426,649,694HDFS_BYTES_WRITTEN1,766725917Reduce shuffle bytes157,260,456383,2118,820,643Spilled Records27783,63027,783,63027,783,630Map output bytes166,701,780166,701,780166,701,780CPU time spent (ms)165,200245,940140,870Total committed heap usage2,068,316,1602,064,973,8242,010,644,480

압축을 적용했을 때가 파일 I/O가 확실히 감소했으며, Gzip에 비해 스내피의 압축율이 떨어지지만, 실행 시간과 CPU 점유율은 Gzip 보다 눈에 띄게 좋아졌다.

 각주 

분류:아카이브 포맷
분류:크로스 플랫폼 자유 소프트웨어
분류:C++로 작성된 자유 소프트웨어
분류:C++ 라이브러리
분류:자유 압축 소프트웨어