A topical question is whether BLOBs should be served from a database. My colleague, Jim Starkey, invented the term BLOB and, understandably, is enthusiastic about the concept. However, others are concerned about the practical overhead. So, after some discussion, the answer is maybe, depending on your application. Here's a guide for whether hold your BLOBs in or out of a database:
- If your BLOBs are *huge* (hundreds of megabytes) then use a filing system.
- If the size of your BLOBs are tiny (sector size or smaller) then use a database.
- If you need scale-out then you've got a borderline case. Keep reading.
- If you've got a huge number of BLOBs then you've got another borderline case.
- If you want concurrency then you've got another borderline case.
- If you want relational structure (categories, tags, RSS) then use a database.
- If you want historical copies then use …