Azure Cosmos DB, a Multi-model Database Service
Azure Cosmos DB is a database service that is distributed globally and that makes it possible to manage data even if they are kept in lots of data centers scattered all around the world. Azure Cosmos DB was launched in May 2017 by Microsoft. It was actually built upon Azure DocumentDB and is classified as NoSQL database. Developers don’t need to change anything if they want to continue running their apps that they build with DocumentDB API because the functionality is the same.
Azure Cosmos DB features high throughput, consistency, latency and makes it easy to develop highly responsive applications globally. It makes a perfect choice for any serverless application and can be applied to web and mobile applications, gaming, retail and marketing as well as IoT and telematics. Cosmos DB supports multiple data models, for example, columnar, graphs, documents, and key-value. It also provides native support for many APIs to access data such as Tables API, Graph API (Gremlin), SQL API, MongoDB API.
Developers can distribute their data to a large number of Azure regions, keeping them where their users are. The app can always determine the nearest data center and sends its requests to it. Cosmos DB can scale with any application as it grows.
Azure Cosmos DB provides different containers for storing data such as tables, graphs, and collections for documents. Containers can span one or several physical partitions which provide a fixed amount of reserved storage backed by SSDs. Partitions are completely managed by Cosmos DB so developers don’t need to write complicated code or manage their partitions. There no limit to storage and throughput of Cosmos DB containers.
Cosmos DB’s database engine doesn’t need any schema and automatically makes a list of all data that it ingest. There is no need for specific query patterns.