I have a use case where I need to upload survey responses from a web application to azure blob storage in Json format. Judging by the survey questions, these json objects will be small and not even come close to 1 mb. I have been reading and experimenting with the azure blob client in C#. I implemented a Unit of Work and Repository design pattern, which means that every CRUD operation will cause a connection to azure storage. Should I consider parallel operations or making batch calls to reduce cost, increase performance and throughput? There are really nice articles out there about parallel operations but the problems they were trying to solve were mainly uploading large files.
1 Answer
You should look at the Azure Storage library https://azure.microsoft.com/en-us/blog/introducing-azure-storage-data-movement-library-preview-2/
You should also take into account the performance guidelines from the Azure Storage Team https://azure.microsoft.com/en-us/documentation/articles/storage-performance-checklist/
2 Comments
shiva8
So uploading many blobs in parallel is recommended as you would for uploading a single large blob by uploading its blocks/pages in parallel. Am I correct in making the assessment that this will increase throughput but will not reduce the cost as you end up making the same number of calls?
Neil Mackenzie
In general it is easier to do parallel uploads of many blobs than parallel uploads of a single blob. The cost of operations is typically not significant.