What are the possible considerations and drawbacks of storing binary image data directly in a table?
You haven't specified the database platform your considering but at this size/scale, it's unlikely to matter.

5kb per record is trivial. 1 million 5kb records is &lt; 5GB, still trivial. 10 million 5kb records... still not something to lose any sleep about.

If we were to get platform specific, a typically exhaustively researched white paper by Paul Randall on SQL Server filestream storage suggests that it outperforms table storage where files are 1MB or greater in size. Below 1MB file sizes, the positives are primarily around filestream bypassing the buffer pool.

The positives for database storage:


Transacted. The binary data is tied to it's metadata, not exposed by a filesystem, safe from accidental deletion.
Reduced backup overhead. 1 million records in a 5GB file vs 1 million 5kb files.
The natural companion to 2), faster restore.


Edit: The negatives (as suggested by Aaron)


Requires programatic access.
Cost of storage. More of an issue if you have to deal with platform restrictions on size e.g. 50GB on Azure.