Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
To BLOB or Not To BLOB: Large Object Storage in a Database or a Filesystem

Russell Sears, Catharine Van Ingen, and Jim Gray

Abstract

Application designers often face the question of whether to store large objects in a filesystem or in a database. Often this decision is made for application design simplicity. Sometimes, performance measurements are also used. This paper looks at the question of fragmentation – one of the operational issues that can affect the performance and/or manageability of the system as deployed long term. As expected from the common wisdom, objects smaller than 256K are best stored in a database while objects larger than 1M are best stored in the filesystem. Between 256K and 1M, the read:write ratio and rate of object overwrite or replacement are important factors. We used the notion of “storage age” or number of object overwrites as way of normalizing wall clock time. Storage age allows our results or similar such results to be applied across a number of read:write ratios and object replacement rates.

Details

Publication typeTechReport
NumberMSR-TR-2006-45
Pages10
InstitutionMicrosoft Research
> Publications > To BLOB or Not To BLOB: Large Object Storage in a Database or a Filesystem