Easy scaling with Cosmos DB for large loads

Working with a customer we need to load a batch of 40-50K documents to Cosmos DB. We could let this pass, but it will result in quite a few HTTP 429 RequestRateTooLarge responses. The operation will be retried, but it will also hurt other clients accessing the same data. Potentially…

Default indexing in Cosmos DB

I recently needed some paging functionality in Cosmos DB, since skip and take is not directly supported we're using a cursor based paging based on a date time. While testing my repository I suddenly did not get the results I expected. After a little bit of trial and error with…

Running group select

We're currently working on creating a somewhat large XML file where we need to read records from our database, perform some calculations on a small subset of the records based on a key, and then write everything to a blob. Services such as Azure functions, which are priced by memory…

Notes on the new DocumentDB partitioning and pricing

The new pricing scheme and partitioning functionality for DocumentDB, made available at Build, was a significant improvement to the DocumentDB offering. I learned about this a few weeks beforehand, but I did not fully see the benefits until I started looking at how this would effect our current solution. Recap…

Indexing changes in DocumentDB

TL;DR;Hash indexing is dead, long live Range indexing I recently did a DocumentBD talk for NNUG in Oslo, and made a discovery during my preparation of a demo on indexing. The default index configuration when creating a collection in the portal differs from creating one with the API…