I’m writing an app which will store a large number of image (and possibly video) files. After they’re uploaded they will be immediately pushed out to some cloud serving CDN for actual serving to the public. The idea is to have the images stored in a reliable, back-uppable store. I would anticipate of the order of 200,000 objects of up to 10KB each and possibly fewer video files of a few MB.
By default I would go to Postgres which the documentation suggests would be ok.
- Is this is a sensible idea?
- Will it make backing up the database a complete nightmare. Experiences?
- Any reliability issues?
- Will this affect the performance for other parts of the db? Bear in mind that the db will only be hit once or twice for each image.
I’ve got experience with storing images in a database this way in Oracle and MySQL. Performance and reliability are not an issue. Backing up is. Your backup will get very large. Since backing up is time consuming and expensive, it might be a good idea to save space. If that means you can shrink your database by 80% by just removing the images from the database, it might be a good idea to store them elsewhere. Backing up separate files is more efficient, because you can easily create incremental backups containing only new and modified images.