Храните в файлах, сжатием не заморачивайтесь, это уже давно доступно в некоторых файловых системах, автоматическое и достаточно быстрое (например при использовании btrfs со включенным сжатием, будут автоматически сжаты только те части файлов, которые можно сжать).
При хранении один медиафайл - один файл на диске, вы можете использовать стандартные вебсервера (apache/ngnix/..) для раздачи контента по их ссылке (по умолчанию эта ссылка состоит из каталогов и имени файла, удобнее некуда).
Если вам нужно дать пользователям возможность заливать файлы на сервер, то начинайте смотреть в сторону ftp/webdav (браузер и windows проводник с авторизацией) или совсем просто sftp (удобные клиенты есть подо все, а в linux штатно доступно пользователям)
Все технические заморочки начинаются, когда ваша нагрузка становится критичной для стандартных тарифных планов у вашего провайдера, а это обычно с тысячами активных клиентов начинается)