So I’m using an app that stores images heavily in the DB. What’s your outlook on this? I’m more of a type to store the location in the filesystem, than store it directly in the DB.
What do you think are the pros/cons?
As with most issues, it’s not as simple as it sounds. There are cases where it would make sense to store the images in the database.
- You are storing images that are
changing dynamically, say invoices and you wanted
to get an invoice as it was on 1 Jan
- The government wants you to maintain 6 years of history
- Images stored in the database do not require a different backup strategy. Images stored on filesystem do
- It is easier to control access to the images if they are in a database. Idle admins can access any folder on disk. It takes a really determined admin to go snooping in a database to extract the images
On the other hand there are problems associated
- Require additional code to extract
and stream the images
- Latency may be
slower than direct file access
- Heavier load on the database server
File store. Facebook engineers had a great talk about it. One take away was to know the practical limit of files in a directory.