Если использование базы данных для хранения файлов более удобно, чем файловая система для ваших нужд, вы определенно можете это сделать. Ни одно из решений не является абсолютно лучшим, чем другое, но MySQL предлагает некоторые преимущества по сравнению с файловой системой:
- Если у вас большое количество файлов, вам нужно разделить их на отдельные каталоги, если вы используете файловую систему.
- MySQL позволяет выполнять репликацию на несколько серверов, если вам требуется балансировка нагрузки.
- Вам не нужен отдельный код для извлечения файлов, когда вы можете получить файлы непосредственно из базы данных с помощью того же запроса, что и другие результаты.
Для очень большого количества файлов вы можете изучить распределенные файловые системы. Я использовал и любил MogileFS , но есть много других доступных также. Они позволяют вам распространять ваши файлы на любое количество серверов и намного более отказоустойчивы, чем другие решения.