Storing images in the database.

[tweetmeme source=”snarayan” only_single=false]

My personal opinion is that going forward, more and more images would be stored in the database instead of the file server. (for enterprise kind of applications).
Though currently, most databases are not equipped to handle images efficiently.

Current Concerns with the approach:
1. Slow retrieval : It is generally considered slower to retrieve images from db. Though it is fast changing.
2. Size of db : Size of db becomes large. creating backup issues.
3. Complex : It is more complex to add/retrieve images from db.
4. Caching : It is relatively more complex to cache/index images in the db. URL/image caching is easier.

1. Backup : It just simplifies the backup process. Also it reduces the risk of not syncing up the database with the file-system resulting in the “image not found” errors.
2. Secure : It adds more fine-grained control on the security of access-control, since all rules of db apply on them.

Under current circumstances, it is better to NOT have images images in the database (unless you’re willing to invest in oracle 10g, which handles images better than most servers)

Some other alternatives could be Amazon S3, variety of CMS, Document repositories, etc.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s