Snappy (データ圧縮)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/21 03:18 UTC 版)
圧縮されたストリームの例
次のテキストを圧縮する:
Wikipedia is a free, web-based, collaborative, multilingual encyclopedia project.
圧縮されたデータの16進ダンプは次のように始まる:
0000000: ca02 f042 5769 6b69 7065 6469 6120 6973 ...BWikipedia is
最初の2バイトのca02は圧縮前のデータのサイズを表すリトルエンディアンヴァリアントである[注釈 3][8]。従って、最上位バイトは「02」である。0x02ca(ヴァリアント) = 0x014a = 330バイト。次の2バイトの0xf042は66+1バイトのリテラルが続くことを示している。
0000010: 2061 2066 7265 652c 2077 6562 2d62 6173 a free, web-bas
0000020: 6564 2c20 636f 6c6c 6162 6f72 6174 6976 ed, collaborativ
0000030: 652c 206d 756c 7469 6c69 6e67 7561 6c20 e, multilingual
0000040: 656e 6379 636c 6f09 3ff0 1470 726f 6a65 encyclo.?..proje
72バイト目の0x09は01型のタグバイトで、length - 4 = 0102 = 210で、offset = 0x03f = 63または「pedia 」である。74バイト目の0xf014は20+1バイトの長さのリテラルである。
0000050: 6374 2e00 0000 0000 0000 0000 0000 0000 ct.
この例では、4文字以上の全ての共通部分文字列が圧縮処理によって除去された。より一般的なコンプレッサーは、これをより良く圧縮することができる。gzipやbzip2などの圧縮方法とは異なり、アルファベットをビットストリームに圧縮するために使用されるエントロピー符号はない。
注釈
- ^ ストリームが出力または消費するのはバイト全体のみである。
- ^ 展開したばかりのデータ。
- ^ ヴァリアントの仕様についてはProtocol Buffersを参照。
出典
- ^ "Release 1.1.10"; 閲覧日: 2023年4月1日; 出版日: 2023年3月8日.
- ^ Avram, Abel; 笹井崇司 (2011年4月13日). “Google Snappy: 高速圧縮ライブラリ”. InfoQ. C4Media Inc.. 2023年12月14日時点のオリジナルよりアーカイブ。2023年12月14日閲覧。
- ^ Metz, Cade (2011年3月24日). “Google open sources MapReduce compression” (英語). The Register. Situation Publishing. 2023年12月14日時点のオリジナルよりアーカイブ。2023年12月14日閲覧。
- ^ a b c “snappy” (英語). 2023年12月14日時点のオリジナルよりアーカイブ。2023年12月14日閲覧。
- ^ “LZO vs Snappy vs LZF vs ZLIB, A comparison of compression algorithms for fat cells in HBase” (英語). sleepcoding. Tumblr (2011年4月14日). 2023年12月14日時点のオリジナルよりアーカイブ。2023年12月14日閲覧。
- ^ “MariaDB Enterprise ColumnStore Storage Architecture” (英語). MariaDB Documentation. MariaDB. 2023年12月14日時点のオリジナルよりアーカイブ。2023年12月14日閲覧。
- ^ wmi-11; Victor Costan (2017年8月24日). “Add a loop alignment directive to work around a performance regression. · google/snappy@824e671” (英語). GitHub. GitHub, Inc.. 2023年12月14日閲覧。
- ^ a b “Encoding” (英語). Protocol Buffers Documentation. Google LLC. 2023年12月14日時点のオリジナルよりアーカイブ。2023年12月14日閲覧。
- ^ a b “snappy/format_description.txt at 27f34a580be4a3becf5f8c0cba13433f53c21337 · google/snappy” (英語). GitHub. GitHub, Inc.. 2023年12月14日閲覧。
- ^ “Vitis_Libraries/data_compression at b7b347a00e24eacee2870c4a3ff55cd08870f364 · Xilinx/Vitis_Libraries” (英語). GitHub. GitHub, Inc.. 2023年12月14日閲覧。
- Snappy (データ圧縮)のページへのリンク