Azure Cosmos DB is a product that Microsoft built from scratch to differentiate itself from the other cloud providers. Through Azure Cosmos DB, Microsoft wants to enable its Azure users scale horizontally with global distribution. It allows for global distribution across any number of Azure regions by scaling and replicating data wherever the consumption is from. Users will be able to elastically scale writes and reads all around the globe, but still pay only for what is being used. Azure Cosmos DB is capable of providing native support for NoSQL and OSS APIs including MongoDB, Cassandra, Gremlin and SQL. Microsoft proudly advertises its guarantee for single-digit-millisecond read and write latencies at the 99th percentile, and 99.9999 high availability with multi-homing anywhere in the world.
Benefits of Azure Cosmos DB:
- Global Distribution: Azure Cosmos DB allows you to build, as Microsoft likes to call, planet-scale applications which can be highly responsive, and always “on”. Users can benefit from all these features without having to worry about complex multi-region data-center configurations. Azure Cosmos DB allows its users to write to and read from the local replicas of the master Cosmos DB database, which is replicated across any number of Azure regions.
- Limitless and Elastic Scalability of Writes & Reads: Azure Cosmos DB elastically scales reads and writes globally and the user is charged only for the throughput and storage that is used.
- Guaranteed Low Latency at 99th Percentile: With Azure Cosmos DB, users can design and build highly responsive, planet-scale (I really like this term!) applications. With its multi-master replication protocol1 and latch-free and write optimized database engine2, Azure Cosmos DB guarantees less than 10-ms latencies for both, reads and (indexed) writes at 99th percentile3 anywhere in the world.
- Well-defined Consistency Choices: Azure Cosmos DB allows its users to skip making tradeoffs between consistency, availability, latency and programmability. Azure’s Cosmos DB’s multi-master replication protocol offers five well-defined consistency choices4 – strong, bounded staleness, consistent-prefix, session, and eventual.
- Multi-model with native support for NoSQL APIs: Azure Cosmos DB allows its users to model real world data using key-value, graph, column-family, and document models and this way users don’t have to deal with the hassle of managing schemas and secondary indexes. Azure Cosmos DB automatically indexes all the data at the time of ingestion.
- Enterprise-grade performance and Security: Azure Cosmos DB comes with Microsoft’s promise of enterprise-grade security and compliance. Microsoft also claims that this is the first and only service to offer industry-leading comprehensive SLAs for 99.9999% high availability, latency at 99th percentile, guaranteed throughput, and consistency.
1multi-master replication protocol: Multi-master replication is a method of database replication which allows data to be stored by a group of computers, and updated by any member of the group. All members in the group are responsive to client data queries. The multi-master replication system is responsible for propagating the data modifications made by each member to the rest of the group, and resolving any conflicts that might arise between concurrent changes made by different members.
2 write-optimized database engine: Database engine that performs more efficiently (than non-write-optimized database engines) for write operations (ingesting data).
3 at 99th percentile: for 99% of the customers at a given time.