飞行中减压

飞行中减压

我有 44 TB 的 gzip 压缩文件,压缩后每个文件大小为 1.5 GB,未压缩时每个文件大小为 2.0 GB。我有一个只能读取未压缩文件的工具。我想避免解压缩整个文件并将结果写入磁盘的开销,因为我可能只需要访问文件的一小部分。该工具无法即时读取 gzip 压缩数据。

有没有一种方法可以创建一个(只读)类似文件的对象,从应用程序的角度来看,该对象具有文件的所有功能,但不是将任何数据存储到磁盘,而是即时计算数据(可能是缓存)在记忆中)?我可以尝试命名管道,但这不允许查找。解压缩到 tmpfs 比解压缩到磁盘要快一些 (10-20%),但仍然需要解压缩整个文件。我不需要任何写访问权限。

该机器具有 2 TB RAM,并在 Red Hat Enterprise Linux Server 版本 6.7 上运行。数据位于 panfs 文件系统上。其他文件系统是一个小型 (20 GB) tmpfs 和一些临时空间(与其他人共享 15 TB)。我没有系统管理员权限。

相关内容