스내피 (압축)
보이기
이 문서는 저작권 침해가 의심되는 문서입니다. (2018년 11월 8일) |
원저자 | Jeff Dean, Sanjay Ghemawat, Steinar H. Gunderson |
---|---|
개발자 | 구글 |
발표일 | 2011년 3월 18일 |
안정화 버전 | 1.1.10
/ 2023년 3월 9일[1] |
저장소 | |
프로그래밍 언어 | C++ |
운영 체제 | 크로스 플랫폼 |
플랫폼 | 포터블 |
크기 | 2 MB |
종류 | 데이터 압축 |
라이선스 | Apache 2 (최대 1.0.1)/New BSD |
상태 | 개발 중 |
웹사이트 | google |
스내피(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 보다 눈에 띄게 좋아졌다.
각주
[편집]- ↑ “Releases - google/snappy”. 2023년 10월 4일에 확인함 – GitHub 경유.