스내피 (압축)

위키백과, 우리 모두의 백과사전.

스내피
원저자Jeff Dean, Sanjay Ghemawat, Steinar H. Gunderson
개발자구글
발표일2011년 3월 18일 (2011-03-18)
안정화 버전
1.1.10 / 2023년 3월 9일(13개월 전)(2023-03-09)[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”. 2023년 10월 4일에 확인함GitHub 경유.