Giacomo Tesio
Giacomo Tesio

Reputation: 7210

What's the minimum amount of bytes that an azure blob can contain?

The Microsoft documentation on Azure Blobs clearly explains that you have a maximum block size (and a maximum number of blocks in each block/append/page blob), but it does not mention any lower bound.

Suppose you have a large number of small binary blobs (from 10 to 512 bytes), is the storage accounted on the exact disk space occupied by the blob data, or is there a minimum chunk size? Or a known fixed "per block" overhead?

For example, is it possible to create a 10 byte block blob? How much space is it actually accounted on billing for it: 10 bytes or another minimum amount (say 4k)?

Is such a minimum block size exists, how does it apply to Append Blobs? And to Page blobs?

Upvotes: 6

Views: 2928

Answers (2)

Fabrizio Accatino
Fabrizio Accatino

Reputation: 2292

The lower limit is... zero :)
Only for testing, I created a 0 byte and a 1 byte BlockBlob without any problem. Update: however a zero byte blockblob has a cost.

Upvotes: 0

Gaurav Mantri
Gaurav Mantri

Reputation: 136196

As mentioned by Fabrizio in the answer, minimum size of a blob can be zero bytes but even a zero byte blob occupies space that you're charged for. From the blog post by storage team here: https://blogs.msdn.microsoft.com/windowsazurestorage/2010/07/08/understanding-windows-azure-storage-billing-bandwidth-transactions-and-capacity/, this is how the storage space for a blob is calculated:

124 bytes + Len(BlobName) * 2 bytes + For-Each Metadata[3 bytes + Len(MetadataName) + Len(Value)] + 8 bytes + number of committed and uncommitted blocks * Block ID Size in bytes + SizeInBytes(data in unique committed data blocks stored) + SizeInBytes(data in uncommitted data blocks)

Not to mention that you would incur transaction charges for each blob you save.

Upvotes: 7

Related Questions