SnappyはGoogle製の高速なデータ圧縮/解凍ライブラリ。

SnappyはC++製のオープンソース・ソフトウェア。巨大なファイルを送信する場合、圧縮して送るのがマナーだ。数GBのファイルであっても圧縮すれば半分くらいになる可能性がある。送信元、送信先双方にとって嬉しい仕組みだ。

逆にサイズの小さいものはあまり圧縮を意識されることが少ない。だがちりも積もれば山となる、特にデータの送受信量がとても多いGoogleではそう感じられるだろう。圧縮率は高くないが、とにかく高速な圧縮/解凍ライブラリがSnappyだ。

Snappyはデータの圧縮/解凍ライブラリだ。とは言っても圧縮率は高くない。zlibに比べて20〜100%も大きいらしい。だがSnappyの目的は高い圧縮率にある訳ではなく、その高速さだ。圧縮の場合で250MB/s、解凍の場合で500MB/sという高速処理ができるようになっている。

高速に圧縮、解凍ができるならば送受信する全てのデータを対象にしても体感的にはあまり変わらずに操作でき、ネットワークの帯域も低く抑えることができるという具合だ。SnappyはGoogleの中で開発されており、実際に利用されているというライブラリになっている。

MOONGIFTはこう見る

Googleにいる何万人もの社員たちのやり取りするデータ量を考えると、Snappyの果たす役割はとても大きそうだ。処理速度が速いならば様々なソフトウェアで送受信されるデータに載せられる可能性がある。こういったデータの積み重ねは決してバカにならない。

日本ではプロバイダ料金は定額制が多いが、Amazon EC2のように従量制のサービスも存在する。そうしたところで巨大なサービスを作ろうと思ったならば、このSnappyの仕組みは見逃せないのではないだろうか。

snappy - A fast compressor/decompressor - Google Project Hosting