К БД или не к БД, вот в чем вопрос.
Вы начинаете здесь религиозную войну с изображениями в БД.
Мнение было бы разделено для SQL 2000, но 2005 и выше достаточно неплохо справляются с хранением больших двоичных объектов - просто посмотрите на число установок SharePoint, которые используют MS SQL Server в качестве хранилища. Я бы пошел по этому пути только для незначительного хранения изображений.
Если вы в конечном итоге поместите их в БД, я бы сказал, что вам следует отделить образ от данных, связанных с ним, для упрощения запросов и уменьшения количества операций ввода-вывода и случаев, когда разработчики пишут SELECT *
(и да, они будут).
Проверьте FILESTREAM в SQL 2008 - он предназначен для таких вещей.
Вот некоторые другие моменты, касающиеся БД и файловой системы, которые вы можете рассмотреть:
- Хранение БД, резервное копирование, восстановление, лицензирование обслуживания дорого
- Сложнее получить доступ к хранилищу в БД, чем на диске
- Диск может быть ускорен
- Вам потребуется написать код для получения / установки изображений в БД - не требуется для диска