Изображения, которые вы можете хранить в папке для системы архивации

Я создаю систему архивации, которая позволяет хранить отсканированные файлы в каталоге. Я поместил мои изображения в один каталог под названием upload.

Я сделал систему, используя фреймворк Laravel в Windows XAMPP сервере базы.

  • Меня беспокоит то, что изображения, которые будут храниться в этом
    Каталог может идти о миллионах.
  • Файлы будут повреждены или достигнут файла
    предел.

  • Поиск изображений может быть очень медленным

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

Так что любая рекомендация или хранение миллионов изображений в одном каталоге — это нормально.

1

Решение

Надеюсь, это поможет в устранении ваших проблем:

Меня беспокоит то, что изображения, которые будут храниться в этом
Каталог может идти о миллионах.

Аппаратное обеспечение в настоящее время способно обрабатывать огромное количество файлов по низкой цене, и оно в значительной степени зависит от платформы, которую вы строите, и соотношения этих файлов. Но если вы сами не собираетесь управлять этим, решение, подобное Amazon S3, может помочь.

В случае каталогов, предпочтительно использовать механизм, который помогает вам разбить эти файлы на несколько, например, можно использовать первые 2-3 символа имени файла для создания каталога, в котором вы можете сохранить файл:
test.doc превратится в t/e/s/test.doc

Файлы будут повреждены или достигнут предела.

Если процесс загрузки завершен успешно, случай, когда файл поврежден, требует дополнительной логики; в зависимости от типа файла, например этот

Поиск изображений может быть очень медленным

Индекс — это ваше лучшее решение: иметь базу данных обо всех файлах и их путях, это легко даст вам прямой доступ к файлам без необходимости их поиска; сохраняя name, pathи другую информацию, например.

если вы говорите о поиске по их содержанию, если это не только изображения, я рекомендую взглянуть на продукты на основе Lucene, такие как Solr или же Эластичный поиск

2

Другие решения

Технически вы можете иметь такое количество в одном каталоге, файловые системы ext2 / ext3 могут иметь до ~ 1020 файлы в одном каталоге, но доступ к ним может быть очень медленным, обычно по практическому правилу — во избежание проблем с производительностью не следует помещать более 10-20 тысяч файлов в один каталог.

Плюс к примеру FAT32 не поддерживает более 65к

Увидеть Сколько файлов я могу поместить в каталог?

Таким образом, вы можете разделить их на подкаталоги, например, по году / месяцу / дню / имени пользователя / и т. Д. В зависимости от загруженности.

У меня есть система, которая хранит около 0,5-2 тыс. Файлов в день и использует пути к файлам
base_dir/year/month/day/fulldate_filename.extension, Таким образом, позже я легко разделю архив на тома, и поиск по дате будет практически мгновенным.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector