У меня есть приложение с монолитной архитектурой и с PostgreSQL в качестве основного хранилища. Есть два образа докеров, один для db и один для сервера приложений. Существует высокая вероятность того, что в ближайшем будущем приложение будет разделено на несколько сервисов, и оно перейдет на микросервисную архитектуру. Также высока вероятность того, что решение будет частью частного облака. В настоящее время есть требования для чтения/хранения различных файлов через приложение, таких как: pdf, jpg, docx и т. д. И я нахожусь на распутье, что будет лучше выбрать в текущей ситуации в качестве хранилища файлов.
Пока вижу несколько вариантов:
- Сервер хранения объектов (например: MinIO, совместимый с облачным хранилищем Amazon S3)
- PostgreSQL (для хранения файлов как BLOB)
- Файловая система (для хранения файлов на хост-компьютере док-контейнеров)
Я читал несколько сообщений, в которых решение БД сравнивалось с файловой системой, но я не нашел никакого сравнения, когда учитывался какой-либо сервер хранения объектов.
- https://dba.stackexchange.com/questions/2445/should-binary-files-be-stored-in-the-database
- В чем разница между хранением данных в большом двоичном объекте и хранением указателя на файл?
Пожалуйста, посоветуйте, какой вариант лучше выбрать, или укажите мне какой-нибудь сравнительный пост, где это уже спрашивали.