Azure Cosmos DB Overview
Azure Cosmos DB is a globally distributed, multi-model database service that enables you to create modern applications that leverage widely distributed data. It offers comprehensive service level agreements (SLAs) on availability, throughput, storage, and latency.
This document provides a high-level overview of Azure Cosmos DB, its key features, and how it can benefit your applications.
Key Features
Global Distribution
Azure Cosmos DB is designed for extreme scalability and global distribution. You can provision throughput and storage anywhere in the world, and it automatically handles partitioning and replication to provide low-latency access to your data. This makes it ideal for applications that require worldwide availability and fast response times.
Multi-Model and Multi-API
Cosmos DB is the only cloud database service that provides a turnkey global distribution and multi-model capabilities. It supports multiple data models, including document, key-value, graph, and column-family. It also supports multiple APIs, such as SQL (Core), MongoDB, Cassandra, Gremlin, and Table, allowing you to use the API that best suits your application needs and existing skillset.
Guaranteed Throughput and Latency
Azure Cosmos DB offers comprehensive, financially backed SLAs for throughput, latency, availability, and consistency. You can choose the throughput that your application requires, and Cosmos DB guarantees it, down to the millisecond. This allows you to build predictable, high-performance applications.
Scalability
Cosmos DB offers elastic scalability, allowing you to scale your throughput and storage independently and on demand. You can scale up or down at any time, with no downtime, to accommodate fluctuating application demands.
Schema-Agnostic
As a document database, Cosmos DB is schema-agnostic. This means you don't need to pre-define your schema, and you can store data with varying structures in the same database. This flexibility accelerates development cycles and makes it easier to evolve your data models over time.
Use Cases
- Gaming: Storing player data, leaderboards, and game state for globally distributed games.
- IoT: Ingesting and analyzing massive amounts of telemetry data from connected devices.
- E-commerce: Managing product catalogs, shopping carts, and customer profiles with low latency worldwide.
- Personalization: Building real-time recommendation engines and user profile services.
- Modern Web & Mobile Apps: Powering backend services that require high availability and scalability.
Key Concepts
- Account: The top-level resource in Azure Cosmos DB.
- Database: A container for collections or tables.
- Container (Collection/Graph/Table): The core service offering in Cosmos DB. It's where your data is stored and managed.
- Items (Documents/Nodes/Vertices/Entities): The atomic data units within a container.
- Request Units (RUs): A normalized measure of throughput.
Learn more: Dive deeper into the architectural principles of Azure Cosmos DB in our Architecture Deep Dive.
Azure Cosmos DB provides a powerful and flexible platform for building modern, distributed applications. Its unique combination of global distribution, multi-model support, and guaranteed performance makes it a top choice for developers looking to innovate at scale.