Я создаю систему архивации, которая позволяет хранить отсканированные файлы в каталоге. Я поместил мои изображения в один каталог под названием upload.
Я сделал систему, используя фреймворк Laravel в Windows XAMPP сервере базы.
Файлы будут повреждены или достигнут файла
предел.
Поиск изображений может быть очень медленным
На данный момент в этом каталоге хранится 12 тысяч изображений, и поиск не представляет проблем. Но я волнуюсь, что это может быть неприятно в будущем.
Так что любая рекомендация или хранение миллионов изображений в одном каталоге — это нормально.
Надеюсь, это поможет в устранении ваших проблем:
Меня беспокоит то, что изображения, которые будут храниться в этом
Каталог может идти о миллионах.
Аппаратное обеспечение в настоящее время способно обрабатывать огромное количество файлов по низкой цене, и оно в значительной степени зависит от платформы, которую вы строите, и соотношения этих файлов. Но если вы сами не собираетесь управлять этим, решение, подобное Amazon S3, может помочь.
В случае каталогов, предпочтительно использовать механизм, который помогает вам разбить эти файлы на несколько, например, можно использовать первые 2-3 символа имени файла для создания каталога, в котором вы можете сохранить файл:
test.doc
превратится в t/e/s/test.doc
Файлы будут повреждены или достигнут предела.
Если процесс загрузки завершен успешно, случай, когда файл поврежден, требует дополнительной логики; в зависимости от типа файла, например этот
Поиск изображений может быть очень медленным
Индекс — это ваше лучшее решение: иметь базу данных обо всех файлах и их путях, это легко даст вам прямой доступ к файлам без необходимости их поиска; сохраняя name
, path
и другую информацию, например.
если вы говорите о поиске по их содержанию, если это не только изображения, я рекомендую взглянуть на продукты на основе Lucene, такие как Solr или же Эластичный поиск
Технически вы можете иметь такое количество в одном каталоге, файловые системы ext2 / ext3 могут иметь до ~ 1020 файлы в одном каталоге, но доступ к ним может быть очень медленным, обычно по практическому правилу — во избежание проблем с производительностью не следует помещать более 10-20 тысяч файлов в один каталог.
Плюс к примеру FAT32 не поддерживает более 65к
Увидеть Сколько файлов я могу поместить в каталог?
Таким образом, вы можете разделить их на подкаталоги, например, по году / месяцу / дню / имени пользователя / и т. Д. В зависимости от загруженности.
У меня есть система, которая хранит около 0,5-2 тыс. Файлов в день и использует пути к файлам
base_dir/year/month/day/fulldate_filename.extension
, Таким образом, позже я легко разделю архив на тома, и поиск по дате будет практически мгновенным.