스내피 (압축)

위키백과, 우리 모두의 백과사전.
둘러보기로 가기 검색하러 가기
스내피
원저자 Jeff Dean, Sanjay Ghemawat, Steinar H. Gunderson
개발자 구글
발표일 2011년 3월 18일 (2011-03-18)
최근 버전 1.1.6 / 2017년 7월 13일 (20달 전)(2017-07-13)[1]
개발 상태 개발 중
프로그래밍 언어 C++
운영 체제 크로스 플랫폼
플랫폼 포터블
크기 2 MB
종류 데이터 압축
라이선스 Apache 2 (최대 1.0.1)/New BSD
웹사이트 google.github.io/snappy/

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

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

카운터 압축 미적용 Gzip 적용 스내피 적용
맵리듀스 잡 수행 시간 1분14초 1분40초 1분2초
FILE_BYTES_READ 370,448,652 908,885 17,652,690
HDFS_BYTES_READ 445,384,492 445,384,492 445,384,492
FILE_BYTES_WRITTEN 555,848,855 1,536,514 26,649,694
HDFS_BYTES_WRITTEN 1,766 725 917
Reduce shuffle bytes 157,260,456 383,211 8,820,643
Spilled Records 27783,630 27,783,630 27,783,630
Map output bytes 166,701,780 166,701,780 166,701,780
CPU time spent (ms) 165,200 245,940 140,870
Total committed heap usage 2,068,316,160 2,064,973,824 2,010,644,480

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

각주[편집]

  1. “Releases - google/snappy”. 2017년 7월 31일에 확인함GitHub 경유.