Frequently asked questions about Azure Cosmos DB

APPLIES TO: NoSQL MongoDB Cassandra Gremlin Table


What are the typical use cases for Azure Cosmos DB?

Azure Cosmos DB is well suited for web, mobile, gaming, and IoT use cases. In these use cases; automatic scale, predictable performance, fast order of millisecond response times, and the ability to query over schema-free data is important. Azure Cosmos DB lends itself to rapid development and supporting the continuous iteration of application data models. Applications that manage user-generated content and data often map to common use cases for Azure Cosmos DB.

How does Azure Cosmos DB offer predictable performance?

A request unit (RU) is the measure of throughput in Azure Cosmos DB. A single request unit throughput corresponds to the throughput of the GET HTTP action for a 1-kilobite document. Every operation in Azure Cosmos DB; including reads, writes, queries, and stored procedure executions; has a deterministic request unit value based on the throughput required to complete the operation. Instead of being forced to consider CPU, IO, and memory in relation to your application throughput, you can think in terms of request units.

You can configure each Azure Cosmos DB container with provisioned throughput in terms of request units per second (RU/s). You can benchmark individual requests to measure in request units, and create a container to handle the sum of request units across all requests for that container in a second. You can also scale up or scale down your container's throughput as the needs of your application evolve. For more information on how to measure request units, see the throughput calculator.

How does Azure Cosmos DB support various data models such as key/value, columnar, document, and graph?

Key/value (table), columnar, document, and graph data models are all natively supported because of the ARS (atoms, records, and sequences) design that Azure Cosmos DB is built on. Atoms, records, and sequences can be easily mapped and projected to various data models. The APIs for a subset of models are available using the ARS design (MongoDB RU, NoSQL, Table, Apache Cassandra, and Apache Gremlin). Azure Cosmos DB also supports other APIs such as MongoDB vCore, Cassandra MI, or PostgreSQL.

What is an Azure Cosmos DB container?

A container is a group of items. Containers can span one or more partitions and can scale to handle practically unlimited volumes of storage or throughput.

Containers known as
Azure Cosmos DB for NoSQL Container
Azure Cosmos DB for MongoDB RU Collection
Azure Cosmos DB for MongoDB vCore Collection
Azure Cosmos DB for Apache Cassandra Table
Azure Cosmos DB for Apache Gremlin Graph
Azure Cosmos DB for Table Table

A container is a billable entity, where the throughput and used storage determines the cost. Each container is billed hourly, based on the provisioned throughput and used storage space. For more information, see Azure Cosmos DB pricing.

Can I use multiple APIs to access my data?

Azure Cosmos DB is Microsoft's globally distributed, multi-model database service. Multi-model refers to Azure Cosmos DB's support for multiple APIs and data models. In this paradigm, different APIs use different data formats for storage and wire protocol. For example; NoSQL uses JSON, MongoDB uses binary-encoded JSON (BSON), Table uses Entity Data Model (EDM), Cassandra uses Cassandra Query Language (CQL), Gremlin uses JSON format. As a result, we recommend using the same API for all access to the data in a given account.

Is Azure Cosmos DB HIPAA compliant?

Yes, Azure Cosmos DB is HIPAA-compliant. HIPAA establishes requirements for the use, disclosure, and safeguarding of individually identifiable health information. For more information, see the Microsoft Trust Center.

What are the storage limits of Azure Cosmos DB?

There's no limit to the total amount of data that a container can store in Azure Cosmos DB.

What are the throughput limits of Azure Cosmos DB?

There's no limit to the total amount of throughput that a container can support in Azure Cosmos DB. The key idea is to distribute your workload roughly even among a sufficiently large number of partition keys.

Are direct and gateway connectivity modes encrypted?

Yes both modes are always fully encrypted.

How much does Azure Cosmos DB cost?

The number of provisioned containers, number of hours containers were online, and the provisioned throughput for each container determines Azure Cosmos DB usage charges. For more pricing details, refer to Azure Cosmos DB pricing.

How can I get extra help with Azure Cosmos DB?

To ask a technical question, you can post to one of these two question and answer forums:

To fix an issue with your account, file a support request in the Azure portal.

Try Azure Cosmos DB free

Is a free account available?

Yes, you can sign up for a time-limited account at no charge, with no commitment. To sign up, visit Try Azure Cosmos DB for free.

If you're new to Azure, you can sign up for an Azure free account, which gives you 30 days and a credit to try all the Azure services. If you have a Visual Studio subscription, you're also eligible for free Azure credits to use on any Azure service.

You can also use the Azure Cosmos DB Emulator to develop and test your application locally for free, without creating an Azure subscription. When you're satisfied with how your application is working in the Azure Cosmos DB Emulator, you can switch to using an Azure Cosmos DB account in the cloud.

How do I try Azure Cosmos DB entirely free?

You can access a time-limited Azure Cosmos DB experience without a subscription, free of charge, and commitments. To sign up for a Try Azure Cosmos DB subscription, go to Try Azure Cosmos DB for free and use any personal Microsoft account (MSA).

This subscription is distinct from the Azure Free Trial, and can be used along with an Azure Free Trial or an Azure paid subscription.

Try Azure Cosmos DB subscriptions appear in the Azure portal with other subscriptions associated with your user ID.

The following conditions apply to Try Azure Cosmos DB subscriptions:

  • Account access can be granted to personal Microsoft accounts (MSA). Avoid using Microsoft Entra accounts or accounts belonging to corporate Microsoft Entra tenants, they might have limitations in place that could block access granting.
  • One throughput provisioned container per subscription for API for NoSQL, Gremlin, and Table accounts.
  • Up to three throughput provisioned collections per subscription for MongoDB accounts.
  • One throughput provisioned database per subscription. Throughput provisioned databases can contain any number of containers inside.
  • 10-GB storage capacity.
  • Global replication is available in the following Azure regions: Central US, North Europe, and Southeast Asia
  • Maximum throughput of 5 K RU/s when provisioned at the container level.
  • Maximum throughput of 20 K RU/s when provisioned at the database level.
  • Subscriptions expire after 30 days, and can be extended to a maximum of 31 days total. After expiration, the information contained is deleted.
  • Azure support tickets can't be created for Try Azure Cosmos DB accounts; however, support is provided for subscribers with existing support plans.

Get started with Azure Cosmos DB

How do I sign up for Azure Cosmos DB?

Azure Cosmos DB is available in the Azure portal. First, sign up for an Azure subscription. After you sign up, add an Azure Cosmos DB account to your Azure subscription.

How do I authenticate to Azure Cosmos DB?

A primary key is a security token to access all resources for an account. Individuals with the key have read and write access to all resources in the database account. Multiple keys are available on the Keys section of the Azure portal.

Use caution when you distribute primary keys.

Where is Azure Cosmos DB available?

For information about regional availability for Azure Cosmos DB, see Azure products available by region. You can account your database to one or more of these regions.

The software development kits (SDKs) for Azure Cosmos DB allow configuration of the regions they use for connections. In most SDKs, the `PreferredLocations`` value is set to any of the Azure regions in which Azure Cosmos DB is available.

Is there anything I should be aware of when distributing data across the world via the Azure datacenters?

Azure Cosmos DB is present across all Azure regions, as specified on the Azure regions page. Because it's a core Azure service, every new datacenter has an Azure Cosmos DB presence.

When you set a region, remember that Azure Cosmos DB respects sovereign and government clouds. For example, you can't replicate data out of a sovereign region. Similarly, you can't enable replication into other sovereign locations from an outside account.

Is it possible to switch between container-level and database-level throughput provisioning?

Container and database-level throughput provisioning are separate offerings and switching between either of these require migrating data from source to destination. You need to create a new database or container and then migrate data using bulk executor library or Azure Data Factory.

Does Azure Cosmos DB support time series analysis?

Yes, Azure Cosmos DB supports time series analysis. You can use the change feed to build aggregated views over time series data. You can extend this approach by using Apache Spark streaming or another stream data processor.

What are the Azure Cosmos DB service quotas and throughput limits?

For information about service quotas and throughput limits, see service quotas and throughout limits.