Facebook 背后的公司 Meta 推出了OpenZL,这是一种新的开源数据压缩框架——本质上是一种软件系统,可以减小数据文件的大小,从而使它们占用更少的空间并在网络上传输更快,而不会丢失任何信息。
OpenZL 的突出之处在于它专为结构化数据(例如数据库、表格和其他组织良好的信息)而设计。OpenZL 不会将每个文件视为一长串字节,而是会查看数据的内部结构(例如列、数字或重复模式),并利用这些知识更高效地压缩数据。
最终结果是无损压缩,这意味着原始数据可以完美恢复,其性能与特定格式的压缩器相似,但仅使用一个可执行文件。换句话说,您无需针对每种文件类型使用不同的工具。所有操作均可由一个通用解压程序处理,从而简化维护并提高安全性。
Meta 表示,OpenZL 弥补了现有压缩工具(例如 Zstandard(同样由 Facebook 开发))的局限性。Zstandard 已经提供了出色的速度和稳定的压缩比,但它仍然是一款通用工具,未能充分利用现代数据集的结构。相比之下,OpenZL 则将速度与对数据格式的更深入理解相结合。
开发人员可以使用小型模式或简单数据描述语言 (SDL) 来描述数据结构,OpenZL 的内置“训练器”会自动学习最佳压缩方案。该方案可在类似的数据集中重复使用,从而节省时间并确保一致性。

从上表可以看出,早期基准测试结果令人印象深刻。在压缩结构化数据(例如 Silesia Compression Corpus 中的“sao”文件)时,OpenZL 的压缩率达到了 2.06 倍,优于 xz(1.64 倍)和 zstd(1.31 倍),同时运行速度也更快——在 Apple M1 芯片上,压缩速度为 340 MB/s,解压缩速度为 1.2 GB/s。
OpenZL 还能随时间推移进行调整。它支持自动重新训练和运行时调整,因此压缩策略可以随着数据的变化而演变,而不会破坏兼容性。这种灵活性建立在 Meta 的内部托管压缩系统之上,该系统最初与 Zstandard 一起在 Facebook 的基础设施中使用,现已引入开源社区。
开发者和研究人员现在就可以试用 OpenZL。源代码、文档和快速入门指南均可在 GitHub 上获取,此外还有详细介绍其设计和性能结果的白皮书。