После нескольких дней исследований я создал систему хранения изображений и двоичных файлов в базе данных.
Это было просто великолепно. Теперь у меня есть 100% контроль над файлами, например, контроль доступа, изменение размера изображения (конечно, я не масштабирую изображения динамически), статистика, резервное копирование и обслуживание.
В моих тестах скорости система теперь в 10 раз медленнее. Однако он все еще не запущен, и я буду внедрять системный кеш и другие оптимизации.
Проверьте этот реальный пример, все еще находящийся в разработке, на хосте SHARED, используя MVC:
http://www.gt8.com.br/salaodocalcado/calcados/meia-pata/
В этом примере, если пользователь вошел в систему, он может видеть разные изображения. Все изображения продуктов и другие двоичные файлы находятся в БД, не кэшируются, а не в ФС.
Я провел несколько тестов на выделенном сервере, и результаты превзошли все ожидания.
Так что, по моему личному мнению, хотя для этого нужно приложить немало усилий, хранение изображений в БД стоит, а преимущества стоят гораздо дороже.