Как лучше хранить много файлов — в базе данных или в виде файлов?
На самом деле оба варианта по реализации настолько минимально отличаются, что хорошим советом будет «сделайте сейчас оба варианта, используйте сначала файлы, а когда файлов будет много померяете производительность».

В 99% случаев файлы лучше, т.к. к ним есть прямой и очевидный доступ без всяких баз, а база в любом случае прослойка.

По бакапам ситуация двоякая, с одной стороны файлы удобнее бакапить тем же инкриментом и обычными файловыми средствами, с другой стороны разовый бакап базы сделать можно сделать просто скопировав файл с таблицей и не надо собирать кучу файлов.

По скорости/нагрузке, безусловно если это один сервер, то файлы будут побыстрее (только бейте на папки, не пихайте больше 1000 в одну в любом случае), но если у Вас несколько серверов, то отдельный сервак с базой под файлы может иметь определённые преимущества, доступ к базе по сети чуть более очевиден (хотя если у Вас есть админ, то не принципиально).

Файлы при прочих равных однозначно лучше попадают в кэш, с другой стороны засирание кэша базой проще контроллировать.
:) Думаете, если 4гб фильм затискать в мускуль, его потом будет быстрее/поще скачать? С чего бы это? В базе он будет занимать больше места. Соответственно, объем бекапа также будет больше. И скачать его будет сложнее. 

В целом, поиск измененных файлов и инкрементный бекап на файлах реализуется проще, чем выборка из Mysql, архивация дампа и скачивание.