Пользовательские изображения - база данных и хранилище файловой системы - программирование

Пользовательские изображения - база данных и хранилище файловой системы

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

  • Храните изображения непосредственно в файловой системе

  • Храните изображения в базе данных

До сих пор Ive в основном был первым вариантом - именованием изображений после имен пользователей, так как каждый пользователь может иметь только один образ презентации. Затем я делаю проверку в указанном пути, если у пользователя есть изображение, если не отображается изображение "no image" по умолчанию.

Еще одна вещь, которая мне нравится в этом, заключается в том, что она экономит место в БД - БД будет довольно тяжелой без дополнительной бинарной нагрузки.

Я уверен, что есть другие аспекты, о которых я не думал, поэтому ИД хотел бы услышать ваше мнение по этому поводу. Если у кого-то есть радикально другое решение проблемы, пожалуйста, поделитесь этим также!

4b9b3361

Ответ 2

В общем, лучше хранить файлы в файловой системе. Файловые системы уже настроены для хранения файлов. Тем не менее, у этого есть свои недостатки, особенно с точки зрения управления, резервного копирования, восстановления, и это немного хрупкая связь между полем пути файла varchar в базе данных и файлом в файловой системе. Какую систему баз данных вы используете? Я думаю, что если вы используете SQL Server 2008, новый тип FileStream дает очень хороший метод для хранения файлов в этой базе данных.

Изменить: Примечание. Я действительно говорю об общем хранении файлов в базе данных. Существует еще одна сложность в попытке сохранить изображения, которые вы собираетесь отображать на HTML-страницах в базе данных.

Ответ 3

Файловая система хороша, но не практична с более чем 3000 изображений в папке. Лучше писать автоматическое создание папок для каждых 3000 блоков изображений.

Ответ 4

избыточность данных и несогласованность трудности с доступом к данным изоляция данных ограничения целостности проблема атомарности одновременный доступ и аномалии (обновление проблема безопасности

Ответ 5

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

Ответ 6

Как хранить файлы doc, pdf, xls, jpg? Какой из них рекомендуется?

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