Простой удар:
$ cat numbers.txt
1
2
3
4
5
6
7
8
9
10
$ sum=0; while read num; do ((sum += num)); done < numbers.txt; echo $sum
55
Помещение всех этих изображений в вашу базу данных сделает ее очень и очень большой. Это означает, что ваш механизм БД будет занят кэшированием всех этих изображений (задача, для которой он на самом деле не предназначен), тогда как вместо этого он может кэшировать данные горячих приложений.
Оставьте кеширование файлов ОС и / или вашему обратному прокси - они у меня получится лучше.
Большинство крупных сайтов используют файловую систему.
См. Хранить изображения в виде файлов или в базе данных для веб-приложения?
Некоторые другие причины для хранения изображений в файловой системе:
При работе с двоичными объектами придерживайтесь подхода к архитектуре, ориентированного на документы, и не храните документы, такие как PDF-файлы и изображения, в базе данных, вам в конечном итоге придется реорганизовать его, когда вы начнете видеть все виды проблем с производительностью вашей базы данных. Просто сохраните файл в файловой системе и укажите путь в таблице своей базы данных. Также существует физическое ограничение на размер типа данных, который вы будете использовать для сериализации и сохранения в базе данных. Просто сохраните его в файловой системе и получите к нему доступ.
В вашем первом предложении говорится, что вы читали несколько сообщений по этой теме, поэтому я не буду утруждать себя размещением ссылок на статьи, посвященные этой теме. По моему опыту, и исходя из того, что вы опубликовали в отношении количества изображений и размеров изображений, вы будете дорого платить за производительность БД, если храните их в БД. Я бы сохранил их в файловой системе.
Какую базу данных вы используете? MS SQL Server 2008 предоставляет хранилище FILESTREAM
, позволяющее хранить данные больших двоичных объектов и осуществлять эффективный доступ к ним, используя комбинацию SQL Server 2008 и файловой системы NTFS. В нем рассматриваются варианты хранения больших двоичных объектов, настройка Windows и SQL Server для использования данных FILESTREAM, рекомендации по объединению FILESTREAM с другими функциями, а также детали реализации, такие как разбиение на разделы и производительность.
Мы используем FileNet, сервер, оптимизированный для создания образов. Это очень дорого. Более дешевым решением является использование файлового сервера.
Пожалуйста, не рассматривайте возможность хранения больших файлов на сервере базы данных.
Как уже упоминалось другими,