最新消息:关注人工智能 AI赋能新媒体运营

Meta开源OpenZL压缩框架,以单一解压缩器提升结构化数据压缩效率

科技智能 admin 浏览

Meta开源OpenZL这一格式感知的无损压缩框架,主打在结构化数据上同时提升压缩比与处理速度,并以通用解压缩器(Universal Decoder)执行每个文件内嵌的还原流程,支持多种结构化数据类型,避免需要为不同格式维护多个二进制文件,其定位是提供一个可定制压缩性能与单一可维护二进制文件的折中方案。

OpenZL开发团队指出,对需要在数据工作管线中长期运维的团队而言,单一解压缩器的操作一致性与集中化审计,是相对务实的工程考量。

OpenZL的做法是先明确数据结构,再用可还原的步骤将规律整理出来,最后才进行压缩。不同文件可以有不同的压缩流程,但每个文件在压缩时,都会把实际如何解压缩的流程写入文件中。解压缩器只需读出该流程并照做即可还原,无需额外安装或协调其他工具。

官方以Silesia数据集中的sao文件在M1 CPU与clang-17环境测试,OpenZL压缩后大小为3,516,649 B,压缩比2.06,压缩速度约340 MB/s,解压速度约1,200 MB/s;相比之下,zstd-3为5,531,935 B、压缩比1.31、压缩速度约220 MB/s、解压速度约850 MB/s,xz-9的数据则为4,414,351 B、1.64、3.5 MB/s、45 MB/s。此结果表明,在已知结构的数据上,OpenZL可同时提高压缩比并维持甚至提升速度。

OpenZL提供简单数据定义语言(SDDL)与离线训练器,用户可先用默认配置或SDDL描述字段与嵌套结构,也可自行编写解析器(Parser)。训练器根据样本数据在变换与参数中搜索,生成多种速度与压缩比的方案,编码时将方案解析为可执行图并写入每一帧(Frame),遇到控制点会依据轻量统计自动选择分支并记录。解压始终使用同一个通用解压缩器,运维与性能优化集中处理,更新一次即可同时支持新旧数据。

官方针对不同类型数据提供了基准测试,包括列式数值数据、Parquet与CSV等。值得注意的是,CSV的解析成本较高,测得压缩速度上限约为64 MB/s。此外,若OpenZL遇到无法理解结构的输入,框架会回退至zstd以保持兼容性,显示其优势明确聚焦于结构化数据场景。

对于云端存储、分布式处理、机器学习张量、数据库表格等具有明确结构的工作负载,OpenZL框架提供以结构为先的高效压缩与解压方案。OpenZL源码、文档与教程已在GitHub开放,项目目前持续开发中,API与格式仍可能调整。