Ignite 2019 CosmosDB round-up

It’s been a few weeks since Ignite 2019 ended and I wanted to do a quick recap of the major (and some minor) announcements around Cosmos DB

1. AutoPilot

By far the biggest new feature for me was the announcement of Auto Pilot which is the new official way of auto scale for CosmosDB containers.

With this new feature you can specify a min and max throughput that you want your collection to elastically scale between based on load. You can read all the details about it in the official docs

2. Transactions

Starting with .NET SDK 3.4.0 there is native support for transactions which means you now can configure and run transactions from your code and not be limited to the JavaScript Stored Procedures.

3. Batch

Previously you had to either use external tools such as the Document DB Data Migration Tool or libraries as Bulk Executor library or write your own (like I did in my CosmosDB SDK Wrapper). But with the new .NET SDK 3.4.0 SDK the bulk imports are a built in feature making it easier to do an initial load of your Cosmos repository.

3. Aggregation performance improvements

Running Count or GroupBy queries is now a lot faster and less expensive RU wise. This was enables via updates in the core indexing service and you will see the benefits without any code changes.

4. Notebooks

Probably the biggest feature if you’re coming to cosmos from the Data Analytics side is the built in Jupyter notebooks integration which allows you to analyze and visualize your data in real time, directly from the Azure Data Explorer. More details on the official docs.

Still in Preview, the private link will allow you to limit access to your Cosmos DB to a VNET or IP within your network bounds vastly increasing security by limiting connectivity to internal traffic only.

6. DevOps improvements

New AZ CLI and PowerShell cmdlets were added to make it easier to integrate your CosmosDB management directly into your DevOps pipeline. Tasks such as scaling a collection, updating an indexing policy or managing collections is made easier with direct native commands rather than the generic commands with custom JSON payload before.

Share Comments