Azure Cosmos DB is a fully managed globally distributed multi master replication NoSQL database. Its’s designed for high scale global replication low latency database. It has excellent response times and 99.999% availability.
Global Distribution: Distributed across all major regions in Azure across the globe.
Regional Presence: It is available in all regions where Azure is available.
High Availability: 99.999 availability for both read and write.
Guaranteed Low Latency: Azure Cosmos DB guarantees 10 milliseconds latency for both reads and writes.
Consistency option: Choose the right balance between performance and consistent replication.
Multiple API: Most important features of Cosmos DB is support of multiple API’s. Following APIs are supported by Cosmos DB.
- SQL API
- MongoDB API
- Cosmos DB Table API
- Cassandra API
- Graph API
- Gremlin API
Azure Cosmos DB consistency levels
Relational databases always offer strong consistency at the expense of speed and scale. Cosmos DB offers flexibility in this regard, allowing you to select any of five data consistency levels:
Strong: Reads are guaranteed to return the most recently committed version of an item. This level is the slowest-performing but most accurate.
Bounded Staleness, Session, and Consistent Prefix: These consistency levels adjust between performance and consistent query results.
Eventual: Reads have no ordering guarantee. This choice is the fastest but least accurate.
Partitioning and horizontal scaling
Azure Cosmos DB uses partitioning to scale individual containers in a database to meet the performance needs of your application. Data is stored in physical partitions, which consist of a set of replicas, also referred to as replica sets.
For each container, you’ll need to configure a partition key. Azure Cosmos DB will use that key to group items together. Partition key values are hashed, and Cosmos DB uses that hash to identify the logical partition the data should be stored in. Internally, one or more logical partitions are mapped to a physical partition.
Application that benefits from Azure Cosmos DB
Any web, mobile, gaming, and IoT application that needs to handle massive amounts of data, reads and writes at a global scale for a variety of data will benefit from Cosmos DB.
Azure Cosmos DB Pricing Model
Azure Cosmos DB have two modes in which the database services are billed.
Database Operations: Whenever you run queries on your NoSQL database, some resources are always being used. Azure terms these usages in terms of Request Units or RU. The amount of RU consumed per second is aggregated and billed.
Consumed Storage: As you start storing data in your database, it will take up some space in order to store that data. This storage is billed per the standard SSD-based storage across any Azure locations globally.