Zstandard (也被称为zstd )是一款免费的开源,快速实时数据压缩程序,具有更好的压缩比,由Facebook开发。 它是用C语言编写的无损压缩算法 (在Java中有一个重新实现) - 因此它是一个本地Linux程序。

另请参阅 : Linux中的10 7zip(Data Comperssion)命令示例

当需要时,它可以将压缩速度交换为更高的压缩比率(压缩速度与压缩比率的权衡可以通过小增量来配置),反之亦然。 它具有小数据压缩的特殊模式,称为字典压缩,可以从任何提供的样本集中构建字典。 它带有一个命令行实用程序,用于创建和解码.zst , .gz , .xz.lz4文件。

重要的是, Zstandard拥有丰富的API集合,支持几乎所有流行的编程语言,包括Python,Java,JavaScript,Nodejs,Perl,Ruby,C#,Go,Rust,PHP,Switft等等。

它被积极用于压缩Facebook中多种格式和用例的大量数据; 服务,如Amazon Redshift数据仓库; 数据库,如Hadoop和Redis; Tor网络和许多其他应用程序,包括游戏。

通过使用lzbench (一种开源内存基准测试工具)在运行Linux Debian的服务器上执行多个快速压缩算法测试,可以获得以下结果。

Z标准压缩测试

如何在Linux中安装Zstandard压缩工具

要在Linux发行上安装Zstandard ,您需要从源代码进行编译,但在此之前,您需要使用发行包管理器在系统上安装必要的开发工具,如图所示。

$ sudo apt update && sudo apt install build-essential		#Ubuntu/Debian
# yum group install "Development Tools" #CentOS/REHL
# dnf groupinstall "C Development Tools and Libraries" #Fedora 22+

一旦安装了所有需要的开发工具,现在您可以下载源软件包,进入本地repo目录,构建二进制文件并按照所示进行安装。

$ cd ~/Downloads
$ git clone https://github.com/facebook/zstd.git
$ cd zstd
$ make
$ sudo make install

一旦安装了Zstandard ,现在我们可以进一步学习以下部分中有关Zstd命令示例的一些基本用法。

在Linux中学习10个Zstd命令使用示例

Zstd的命令行语法通常与gzipxz工具类似,但有一些差异。

1.要创建.zst压缩文件,只需提供一个压缩文件名即可,或者使用-z标志也意味着压缩,这是默认操作。

$ zstd etcher-1.3.1-x86_64.AppImage
OR
$ zstd -z etcher-1.3.1-x86_64.AppImage

2.要解压缩.zst压缩文件,请使用-d标志或unzstd实用程序,如图所示。

$ zstd -d etcher-1.3.1-x86_64.AppImage
OR
$ unzstd etcher-1.3.1-x86_64.AppImage

3.要在操作后删除源文件,默认情况下,源文件在成功压缩或解压缩后不会被删除,要删除它,请使用--rm选项。

$ ls etcher-1.3.1-x86_64.AppImage
$ zstd --rm etcher-1.3.1-x86_64.AppImage
$ ls etcher-1.3.1-x86_64.AppImage

4.要设置压缩级别,zstd具有许多操作修饰符,例如,您可以指定压缩级别为-6 (数字1-19,默认值为3),如图所示。

$ zstd -6 --rm etcher-1.3.1-x86_64.AppImage

5.要设置压缩速度,zstd的压缩速度比率为1-10 ,默认压缩速度为1 。 您可以使用--fast选项--fast压缩速度的压缩比,数字越高压缩速度越快。

$ zstd --fast=10 etcher-1.3.1-x86_64.AppImage

6.要显示有关压缩文件的信息,请使用-l标志,例如用于显示有关压缩文件的信息。

$ zstd -l etcher-1.3.1-x86_64.AppImage.zst

7.要测试压缩文件的完整性,请使用-t标志,如图所示。

$ zstd -t etcher-1.3.1-x86_64.AppImage.zst

8.要启用详细模式,请使用-v选项。

$ zstd -v -5 etcher-1.3.1-x86_64.AppImage

9.使用其他文件压缩或解压缩格式,例如gzip,xz,lzma和lz4,使用--format=FORMAT ,如图所示。

$ zstd -v --format=gzip etcher-1.3.1-x86_64.AppImage
$ zstd -v --format=xz etcher-1.3.1-x86_64.AppImage

10.要将zstd进程优先级设置为实时,可以使用选项-priority = rt ,如图所示。

$zstd --priority=rt etcher-1.3.1-x86_64.AppImage

-r标志指示zstd在字典上递归操作。 您可以找到许多有用的高级选项,以及如何通过查阅zstd手册页来阅读或创建词典。

$ man zstd

Zstandard Github存储库 : https : //github.com/facebook/zstd

Zstandard是一种快速的实时无损数据压缩算法和压缩工具,可提供高压缩比。 尝试一下,分享您的想法或通过下面的反馈表格提问。

zstd - 一种由Facebook使用的快速数据压缩算法的更多相关文章

  1. 基于TILE-GX实现快速数据包处理框架-netlib实现分析【转】

    最近在研究suricata源码,在匹配模式的时候,有tilegx mpipe mode,转载下文,了解一下. 原文地址:http://blog.csdn.net/lhl_blog/article/de ...

  2. 【7】AccessDB快速数据访问

    阅读目录 C#和VB数据访问的比较 AccessDB的设计 数据库的连接 三种主要操作 错误输出及调试 小结 回到顶部 C#和VB数据访问的比较 C#中要进行一次普通的数据库查询,需要创建连接,再根据 ...

  3. Apache Kudu: Hadoop生态系统的新成员实现对快速数据的快速分析

    A new addition to the open source Apache Hadoop ecosystem, Apache Kudu completes Hadoop's storage la ...

  4. C2B电商三种主要模式的分析_数据分析师

    C2B电商三种主要模式的分析_数据分析师 在过去的一年中电商领域血雨腥风,尤其是天猫.京东.苏宁.当当.易讯等B2C电商打得不亦乐乎.而随着B2C领域竞争进入白热化阶段,C2B模式也在天猫" ...

  5. 12月18日风险投资速递:Facebook收购实时体育数据提供商Sport Stream

    国内公司 1.手游公司成都掌沃无限获得近千万元天使投资 成都掌沃无限成立于2013年,是一家新成立的手机游戏开发商,创始人及CEO张涛拥有超过10年的游戏行业从业经验和连续创业经历,其首款游戏产品为& ...

  6. 虚拟化(五):vsphere高可用群集与容错(存储DRS是一种可用于将多个数据存储作为单个数据存储群集进行管理的功能)

    vsphere高级功能需要vcenter server和共享存储的支持才能实现.vsphere的高级功能有 vmotion.storage vmotion.vsphere HA.vsphere DRS ...

  7. Spanve:一种检测大规模空间转录组学数据中空间变异基因的有效统计方法

    文章题目 Spanve: an Effective Statistical Method to Detect Spatially Variable Genes in Large-scale Spati ...

  8. 3种方法教你PS快速去掉水印

    方法一:使用选框工具 勾选水印部分: 按住Shift+f5选择内容识别: 然后 ctrl+d 取消选择,水印就去掉了 PS:其实这个方法有个快捷办法,直接使用选框工具选中之后,按Delete就可以弹出 ...

  9. 集合并卷积的三种求法(分治乘法,快速莫比乌斯变换(FMT),快速沃尔什变换(FWT))

    也许更好的阅读体验 本文主要内容是对武汉市第二中学吕凯风同学的论文<集合幂级数的性质与应用及其快速算法>的理解 定义 集合幂级数 为了更方便的研究集合的卷积,引入集合幂级数的概念 集合幂级 ...

  10. flink01--------1.flink简介 2.flink安装 3. flink提交任务的2种方式 4. 4flink的快速入门 5.source 6 常用算子(keyBy,max/min,maxBy/minBy,connect,union,split+select)

    1. flink简介 1.1 什么是flink Apache Flink是一个分布式大数据处理引擎,可以对有限数据流(如离线数据)和无限流数据及逆行有状态计算(不太懂).可以部署在各种集群环境,对各种 ...

随机推荐

  1. PC软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具

    前言 国庆假期各种活动比较多,直到上班才有时间来更新文章~ 不过这两天我还是做了个小玩意(Clipify),起因是想给之前开发来自己用的简单视频剪辑工具 QuickCutSharp 加个功能,不过这个 ...

  2. 6.flask 源码解析:响应

    目录 一.flask 源码解析:响应 1.1 response 简介 1.2 flask 响应(response) 1.3 werkzeug response 1.4 自定义 response Fla ...

  3. 题解:AT_abc370_c [ABC370C] Word Ladder

    题目传送门 luogu观看 简要题意 给两个序列 \(S\) 和 \(T\),输出的第一个数是它能改变的总个数,后面跟着的第 \(i\) 个是改变 \(i\) 个数之后,字典序最小的结果. 思路 当 ...

  4. 连接ORACLE数据库,是否必须要安装oracle客户端

    公司升级Oracle版本(12g~19C),服务器端是DBA团队升级.客户端的升级工作由各个团队自己负责完成.突然想为什么Oracle提供的JDBC Driver需要客户端的软件.没有Oracle客户 ...

  5. 出现负载均衡问题IP端口不通的紧急处理

    出现负载均衡IP不能用的处理方案,重启这个服务. 命令: systemctl stop keepalived systemctl start keepalived

  6. DataGrip 2024.2.2 最新安装教程(附激活-2099年~)

    下载 DataGrip 2024.2.2 版本的安装包. 下载补丁https://pan.quark.cn/s/fcc23ab8cadf 检查 免责声明:本文中的资源均来自互联网,仅供个人学习和交流使 ...

  7. Diffuision Policy + RL -------个人博客_ZSY_20241101

    Diffusion Policy: Visuomotor Policy Learning via Action Diffusion Cheng Chi, Zhenjia Xu, Siyuan Feng ...

  8. 【总结】线性dp的几种重要模型

    当前点定义 \(f[i]\) :走到第 \(i\) 个点的方案数 / 最值. \(f[i][j]\) :走到第 \(i\) 个点,选了 \(j\) 个的答案. 依据题目的限制个数可以继续添加维数,也可 ...

  9. mysql隐蔽的索引规则导致数据全表扫描

    索引是为了加速数据的检索,但是不合理的表结构或适应不当则会起到反作用.我们在项目中就遇到过类似的问题,两个十万级别的数据表,在做连接查询的时候,查询时间达到了7000多秒还没有查出结果. 首先说明,关 ...

  10. 如何在离线的Linux服务器上部署 Ollama,并使用 Ollama 管理运行 Qwen 大模型

    手动安装 Ollama 根据Linux的版本下载对应版本的 Ollama, 查看Linux CPU型号,使用下面的命令 #查看Linux版本号 cat /proc/version #查看cpu架构 l ...