<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>压缩 on PlumePHP</title><link>https://plumephp.com/tags/%E5%8E%8B%E7%BC%A9/</link><description>Recent content in 压缩 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Mon, 28 Sep 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/%E5%8E%8B%E7%BC%A9/index.xml" rel="self" type="application/rss+xml"/><item><title>列式压缩算法深入：LZ4/ZSTD、Delta/Gorilla 编解码与压缩率调优</title><link>https://plumephp.com/clickhouse-columnar-compression/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/clickhouse-columnar-compression/</guid><description>&lt;h2 id="1-为什么列式存储天生适合压缩"&gt;1. 为什么列式存储天生适合压缩&lt;/h2&gt;
&lt;p&gt;列式存储把同一列的数据连续存放，天然具备高压缩潜力：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;行式（一行混存多类型，难压缩）
 1, alice, 2026-09-28, 88.5, true, &amp;#39;VIP&amp;#39;
 2, bob, 2026-09-28, 92.1, true, &amp;#39;STD&amp;#39;
 3, carol, 2026-09-28, 85.0, false,&amp;#39;VIP&amp;#39;
 → 每行类型混杂，压缩率有限

列式（同列连续，类型一致，规律性强）
 user_id : 1,2,3,4,5,... → 高度有序
 region : 华东,华东,华北,华北 → 大量重复
 ts : 连续递增时间戳 → Delta 可预测
 → 每列独立压缩，规律被最大化利用
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="11-两阶段压缩"&gt;1.1 两阶段压缩&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;阶段一：专用编解码器（Codec）— 把数据转换为&amp;#34;更易压缩&amp;#34;的形式
 例：Delta → 存储相邻差值而非原始值
阶段二：通用压缩算法（LZ4 / ZSTD）— 对转换后字节做熵压缩
&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;一句话总结&lt;/strong&gt;：列式存储让同列数据集中呈现规律，专用编解码把规律变成&amp;quot;更小数值&amp;quot;，通用压缩再榨一次——两级压缩是 ClickHouse 高压缩率的根基。&lt;/p&gt;</description></item><item><title>数据压缩原理：Huffman、LZ 家族与通用压缩算法</title><link>https://plumephp.com/others-data-compression-guide/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/others-data-compression-guide/</guid><description>&lt;h2 id="引言"&gt;引言&lt;/h2&gt;
&lt;p&gt;文件、网络、数据库里到处是压缩——&lt;code&gt;.zip&lt;/code&gt;、&lt;code&gt;.tar.gz&lt;/code&gt;、HTTP 的 gzip/brotli、日志的 zstd。但大多数人都把压缩当&amp;quot;黑盒命令&amp;quot;，不知道&lt;strong&gt;它到底在压什么&lt;/strong&gt;。本文拆开这个黑盒：先讲熵——压缩的下限来自信息量本身（为什么压缩不了随机数据）；再讲两大基石——&lt;strong&gt;Huffman（频率驱动）与 LZ 家族（重复驱动）&lt;/strong&gt;，以及把两者结合的 Deflate（gzip 的内核）；接着对比现代算法 zstd/brotli/LZMA，最后给工程决策：级别怎么选、分块与字典怎么用、什么时候压缩不值得。&lt;/p&gt;</description></item><item><title>Go 压缩和归档入门：gzip、tar 和 zip 的基本用法与实战</title><link>https://plumephp.com/go-compress-archive-basics/</link><pubDate>Wed, 13 Aug 2025 10:00:00 +0800</pubDate><guid>https://plumephp.com/go-compress-archive-basics/</guid><description>&lt;h2 id="压缩和归档是很多后台工具的基础能力"&gt;压缩和归档是很多后台工具的基础能力&lt;/h2&gt;
&lt;p&gt;服务端程序经常需要处理文件：日志按天压缩，报表打包下载，备份目录归档，上传的 zip 解开检查。Go 标准库提供了 &lt;code&gt;compress/gzip&lt;/code&gt;、&lt;code&gt;archive/tar&lt;/code&gt;、&lt;code&gt;archive/zip&lt;/code&gt; 等包，足够覆盖很多入门和中小项目需求。&lt;/p&gt;</description></item></channel></rss>