Reputation: 1773
I am confused about why Microsoft Azure prefers 'block blob' to 'append blob' for application logging.
It is my understanding that with 'append blob' clients can simply append a line of text to the blob without downloading any chunks to the client.
Appending to 'block blob' involves downloading the blockids or content and appending to that clientside and then writing that back to the blob. More work is involved.
Why is Microsoft Azure not using the intended method of writing logs in their own implementation? Are there caveats to using 'append blob' for logging?
Upvotes: 2
Views: 476
Reputation: 490
From my experience there is some overhead with Append blobs and the limit how many times can be appended. Typical logs have many lines added one by one.
When number of appends becomes non-trivial reading becomes quite slow. Apparently append blob is some kind of linked list internally. In all, updating actual bytes of block or page blob is better for performance.
Plus, Append blob is newer and logs are likely one of first features on Azure.
It would be useful if there was some public API or a library that can hide complexity of simulating append by updating blob.
Upvotes: 1
Reputation: 620
Exactly, append blobs are fairly new while the logging solution with block blobs go way back. Because of that legacy and all current dependencies it has introduced it would be very hard to change it now.
Upvotes: 1