zstd压缩算法及对比实验
zstd压缩算法应用场景
1.pve系统,虚拟机压缩备份
分配的硬盘32GB,压缩后1.07GB,666

2.oceanbase数据库,数据压缩
安装zstd压缩工具
ubuntu
sudo apt install zstd
macos
brew install zstd
压缩与解压
压缩
# 默认参数 -3: 压缩级别,-z: 压缩模式
zstd test_file.tar
# 指定压缩级别,数值越大,压缩率越高,耗时越长
zstd -10 test_file.tar
# 多线程压缩
zstd -T0 test_file.tar
# 解压
zstd -d test_file.tar.zst
# 或者
unzstd test_file.tar.zst
# 查看压缩信息
zstd -l test_file.tar.zst
# 测试压缩文件完整性
zstd -t test_file.tar.zst
常用参数
- -10 压缩比率,范围: 1-22, 默认值=3
 - -z 压缩模式
 - -d 解压模式
 - -v 详细模式
 - -l 显示压缩文件信息
 - 其它参数: man zstd
 
zstd与其它压缩工具对比

zstd简介
Zstd,全称 Zstandard,是由 Facebook(现 Meta)开发并开源的一种高性能无损数据压缩算法。它旨在提供极佳的压缩速度与压缩比的平衡,特别适合现代多核处理器和大内存环境。
Zstd 于 2016 年首次发布,因其出色的性能和灵活性,迅速在各种应用场景中得到广泛应用。
它在解压速度上具有压倒性优势,同时在压缩速度和压缩比上提供了比传统算法(如 gzip)更优的平衡。对于大多数需要无损压缩的新项目,Zstd 是一个非常值得优先考虑的选择。
核心特点:
- 压缩、解压速度快
 - 优秀的压缩比,并且可调,
 - 小数据块优化(zstd --train)
 - 支持多线程
 - 开源免费
 - 应用广泛(被众多系统和软件采纳)
 
zstd压缩原理
1.基于lz77字典匹配算法
- 查找重复序列
 - 替换
 
多重熵编码
- 霍夫曼编码(根据频率,构建变长的编码表)
 - 有限状态熵编码(Zstd 最主要的熵编码器,用于压缩 (距离, 长度, 字面量长度) 这些符号)
 
                    
                

                
            
        
浙公网安备 33010602011771号