One of the keys (pun intended) of achieving optimal performance out of CosmosDB is partitioning properly.  In partitioning, the items in a container are divided into distinct subsets called logical partitions.

Azure Cosmos DB transparently and automatically manages the placement of logical partitions on physical partitions to efficiently satisfy the scalability and performance needs of the container. As the throughput and storage requirements of an application increase, Azure Cosmos DB moves logical partitions to automatically spread the load across a greater number of servers.

In case you have not heard already, Azure Cosmos DB is Microsoft’s globally distributed, horizontally partitioned, multi-model database service. The service is designed to allow customers to elastically (and independently) scale throughput and storage across any number of geographical regions.

What’s more, Azure Cosmos DB offers guaranteed low latency at the 99th percentile, 99.99% high availability, predictable throughput, and multiple well-defined consistency models.

How does it do this? Check out this post on the team’s blog.

The core type system of Azure Cosmos DB’s database engine is atom-record-sequence (ARS) based. Atoms consist of a small set of primitive types e.g. string, bool, number etc., records are structs and sequences are arrays consisting of atoms, records or sequences. The database engine of Azure Cosmos DB is capable of efficiently translating and projecting the data models onto the ARS based data model. The core data model of Azure Cosmos DB is natively accessible from dynamically typed programming languages and can be exposed as-is using JSON or other similar representations. The design also enables natively supporting popular database APIs for data access and query. Azure Cosmos DB’s database engine currently supports DocumentDB SQL, MongoDB, Azure Table Storage, and Gremlin graph query API.

Kirill Gavrylyuk joins Scott Hanselman to discuss new improvements for Azure Cosmos DB SDKs, including the new, idiomatic .NET SDK with friendlier, more intuitive programming model, better testability, better performance, .NET Standard 2.0 support, and now open sourced.     

 

Never miss an episode:

Learn about the new SDKs for Azure Cosmos DB with the JavaScript SDK as an example, talk about CORS (Cross-Origin Resource Sharing) with a simple JavaScript app to demonstrate it, a new, low-cost database offer in the Azure portal, Azure DevOps build task, cost saving tips, and support for multi-region strong consistency.

 

Never miss an episode:

Chris Anderson (@crandycodes) joins Donovan Brown (@donovanbrown) to discuss Azure Cosmos DB JavaScript SDK 2.0, which adds support for multi-region writes, a new fluent-style object model—making it easier to reference Azure Cosmos DB resources without an explicit URL—and support for promises and other modern JavaScript features. It is also written in TypeScript and supports the latest TypeScript 3.0.     

Related Resources:

Don’t miss an episode:

In this episode, Burke and Jasmine Greenaway bring you five reasons that you should check out Cosmos DB today. They also play a dangerous game of Jenga with an oversized tower made out of 2×4’s, and someone nearly gets crushed.

Jasmine Greenaway on Twitter
Cosmos DB Intro
Cosmos DB / C# / JavaScript App Tutorial
Cosmos DB / Azure Functions Tutorial

Learn more at aka.ms/5things-azure
To watch more episodes go to Five Things Playlist
Follow Hosts Burke Holland and John Papa on Twitter

Chris Anderson joins Donovan Brown to discuss how to use Azure Cosmos DB and other great Azure services to build a highly-scalable, real-time, collaborative application. You’ll see techniques for using the Azure Cosmos DB change feed in both Azure Functions and SignalR applications. We also briefly touch on how custom authentication works with Azure Functions.

For more information:

This video from the Microsoft Developer YouTube channel gives a thorough overview of CosmosDB, a globally distributed multi-model database-as-a-service. It provides NoSQL foundation with comprehensive SLAs on throughput, availability, consistency and latency and exposes data through SQL, MongoDB, Cassandra, Table and Gremlin APIs. Learn how to take advantage of it in your apps today and leverage the economy of scale tomorrow!