Intereting Posts

Депрессия на лету

У меня есть файлы с gzipped размером 44 ТБ, каждый по 1,5 ГБ, при сжатии или 2,0 ГБ при несжатом. У меня есть инструмент, который может читать только несжатые файлы. Я хотел бы избежать накладных расходов на разжатие всего файла и запись результата на диск, так как мне может потребоваться только доступ к небольшой части файла. Инструмент не может читать gzip-сжатые данные «на лету».

Есть ли способ создать файл-подобный объект (только для чтения), который имеет все функции файла с точки зрения приложения, а вместо хранения каких-либо данных на диск, вычисляет данные «на лету» (возможно, кеширование в памяти)? Я мог бы попробовать именованный канал, но это не позволяет искать. Распаковка в tmpfs несколько (10-20%) быстрее, чем несжатие на диск, но все равно требует разжатия всего файла. Мне не нужен доступ на запись.

Аппарат имеет 2 ТБ ОЗУ и работает на Red Hat Enterprise Linux Server версии 6.7. Данные находятся в файловой системе panfs. Другие файловые системы – это небольшие (20 ГБ) tmpfs и некоторые царапины (15 ТБ совместно с другими). У меня нет системных прав администратора.