Создают ли очень большие файлы проблемы в современных файловых системах?

Я разрабатываю приложение, которое использует несколько больших двоичных файлов - в диапазоне от 1 ГБ до 25 ГБ. Приложение будет работать в основном на серверах и, возможно, на некоторых мощных/современных настольных ПК. Я мог бы (а) разделить эти большие файлы, чтобы они всегда были меньше 4 ГБ, или (б) просто хранить их в одном файле.

Файловые системы FAT32 позволяют использовать файлы размером до 4 ГБ. Если я не разделю файлы, их нельзя будет использовать в системах FAT32.

Нужно ли мне разделять эти файлы?

Это приложение всегда будет работать на достаточно современном оборудовании. Существуют ли какие-либо современные серверы, которые могут использовать FAT32? Существуют ли какие-либо другие облачные файловые системы, которые имеют значительные ограничения на размер файлов? (например, с файловой системой AWS Elastic все в порядке, поскольку она позволяет использовать отдельные файлы 47 ТБ).


person Open Door Logistics    schedule 28.05.2020    source источник
comment
Я полагаю, вы находитесь в Windows. NTFS может обрабатывать файлы размером до 16 ТБ.   -  person Max Muster    schedule 04.06.2020
comment
Если вы используете Linux и выбираете ext4, размер файла не ограничен. Ваш файл может быть таким же большим, как раздел.   -  person Max Muster    schedule 04.06.2020
comment
Не только окна. Мы хотим знать, какие проблемы могут возникнуть из-за очень больших файлов при использовании распространенных современных облачных технологий. Таким образом, это будет включать серверы Windows, серверы Linux и облачные файловые системы, такие как AWS Elastic Beanstalk, Google Cloud Firestore.   -  person Open Door Logistics    schedule 04.06.2020
comment
Насколько я знаю, все они позволяют форматировать тома.   -  person Max Muster    schedule 04.06.2020


Ответы (5)


Вы можете хранить файлы сколь угодно большими, но есть один большой вопрос. Вам нужно переместить или скопировать эти файлы?

Если нет то не вижу проблемы. Огромные файлы базы данных, файлы подкачки и файлы образов виртуальных машин работают просто отлично. Если файлы нужно копировать, перемещать и загружать, я бы разделил их.

Первое копирование, перемещение, загрузка, загрузка и резервное копирование обычно выполняются на основе файлов. Есть несколько инструментов, которые могут разбивать файлы на части и восстанавливать файлы из частей, но вам придется поискать их. Загрузка и загрузка также могут быть проблематичными, так как передача иногда прерывается, а большинство инструментов просто не поддерживают возобновление.

person Optional Option    schedule 03.06.2020
comment
Да, нам нужно скопировать файлы. Хороший вопрос, я не подумал об этом. - person Open Door Logistics; 04.06.2020

По моему опыту, не рекомендуется использовать FAT32, если вы имеете дело с файлами размером более 4 ГБ. Fat32 хранит 32-битный размер, поэтому предел

2^32-1 ~= 4.29e9. 2^32-1 bytes = 4GB - 1 byte

Я рекомендую использовать exFat, если вы предпочитаете толстую файловую систему.

см. Спецификации, функции и требования файловой системы exFAT включают: Ограничение размера файла в 16 эксбибайт (264-1 байт, или около 1019 байт, которое в противном случае ограничено максимальным размером тома 128 ПиБ, или 257-1). байт), увеличенный с 4 ГиБ (232–1 байт) в стандартной файловой системе FAT32.

Поэтому, если вы не хотите ограничиваться FAT32, я рекомендую использовать exFat.

Или, если вы собираетесь делать это с помощью облачных вычислений, хорошо использовать выделенный экземпляр AWS EC2 или Lambda для использования по требованию.

person Bojan    schedule 03.06.2020

FAT32 — это файловая система, разработанная в 1977.

Чтобы ответить на ваш вопрос, следует ли вам поддерживать FAT32, взгляните на эти похожие вопросы:

  • Должна ли моя домашняя страница поддерживать Internet Explorer 1.0?
  • Почему Windows 10 не поддерживает программы DOS?
  • Будет ли последняя версия Firefox работать на Windows 98?

Итак, ответ прост: не поддерживайте FAT32. Если вы обнаружите файловую систему FAT32, попросите пользователя изменить ее.


Давайте взглянем на современную файловую систему, такую ​​как ext4 или NTFS.

Они поддерживают огромные файлы. Так что не надо разделяться.


Вы также можете вообще не использовать файловую систему.

Вы можете использовать раздел фиксированного размера или весь диск.

Это даст вам лучшую производительность, потому что ваши данные не фрагментированы.

Но размер вашего «файла» фиксирован.

person somega    schedule 10.06.2020

Если ваша файловая система находится в SAN с репликацией и/или созданием моментальных снимков, распределенные изменения в разных областях вашего файла могут создать нагрузку на хранилище.

В любой современной файловой системе файлы размером> 100 ГБ не редкость. Даже создание копии файла такого размера по сети не проблематично, если сеть стабильна и быстра.

На самом деле хуже, если у вас много маленьких файлов в каталоге. Различные FS обрабатывают огромное количество файлов по-разному, и всегда есть выбор инструментов для доступа к каталогу с таким количеством файлов.

person Anganthier    schedule 10.06.2020

Хранение 4-25 ГБ не должно быть проблемой даже на относительно старом оборудовании, файловые системы, такие как ntfs и ext2, которые существуют с 90-х годов, не имеют проблем с работой с файлами такого размера, на самом деле это вполне нормально для компаний, занимающихся производством видео, хранить необработанные видеофайлы размером до нескольких 100 ГБ в файловых системах ext4/ntfs. (если я правильно помню, теоретический предел для современных файловых систем превышает 1 ТБ)

При этом, если вы не собираетесь часто читать файлы, вы можете разбить файлы на несколько частей, чтобы упростить их хранение и перемещение. Копирование больших файлов может быть проблематичным.

Единственный реальный вариант использования fat32 в настоящее время, с которым вы, вероятно, столкнетесь, — это на USB-накопителях.

person cursedclock    schedule 10.06.2020