Для выполнения чтения и записи большого набора данных у нас есть несколько потоков, сжимающих и записывающих отдельные файлы в SAN.Я делаю новую спецификацию файла, в которой все эти файлы будут объединены в один файл.Я буду ссылаться на каждый из этих меньших блоков данных как на подмножество.
Поскольку каждое подмножество будет иметь неизвестный размер после сжатия, нет способа узнать, в какое байтовое смещение записывать.Без сжатия каждый писатель может записывать на предсказуемый адрес.
Есть ли способ добавлять файлы вместе на уровне файловой системы, не требуя копирования файла?
Я напишу здесь пример того, как я ожидаю, что результат будет на диске.Хотя я не уверен, насколько полезно писать это таким образом.
single-dataset.raw
[header 512B][data1-45MB][data2-123MB][data3-4MB][data5-44MB]
Я ожидаю, что SAN пока будет NTFS на случай, если будут какие-то особые функции определенных файловых систем.
Если я сделаю подмножества достаточно маленькими, чтобы вписаться в оперативную память, я узнаю размер после сжатия, но сохранение их меньшего размера имеет и другие недостатки производительности.