Какую БД выбрать для маленького файлового сервиса?
Я хочу сделать приложение на python(на Fastapi), которое будет работать примерно так:
Пользователи запускают задание, которое выгружает тяжелый отчет в файловую систему на сервере, после чего получают уведомление на почту с уникальной ссылкой. При переходе по ссылке автоматически скачивается файл.
Мне необходимо хранить информацию:
1. Связь ссылки с файлом в файловой системе
2. Историю скачиваний
Возможно, иногда мне надо будет чистить старые файлы(и соотвественно ссылки) массово(например старше 30 или 7 дней).
Ожидаю до выгрузки нескольких десятков тысяч файлов в месяц.
Посоветуйте, какую БД стоит использовать для таких целей? И почему именно ее?
Вопрос в перспективе тянет на экспертную систему по выбору БД.
При данной постановке - можно брать любую документно-ориентированную. Все одинаково подходят.
Но если основной контент (80% берем по Паретто) это файлы - то можно брать Amazon S3, в дальнейшем с перспективой трансформировать это в DynamoDb если понадобятся транзакции или в Amazon Document Db (он же Mongo) если понадобится тонкая работа с атрибутами документов (или файлов).
Автор должен понять что в это вопросе нет единого правильного решения. Есть просто некая сравнительная табличка где есть набор фичей с одной стороны и набор DBMS с другой и нет такого покрытия которое бы закрыло ВСЕ фичи.