Frequently asked questions about Azure Cosmos DB

APPLIES TO: NoSQL MongoDB Cassandra Gremlin Table

General

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 21Vianet's multiple-regionally distributed, multi-model database service. Where multi-model means Azure Cosmos DB supports multiple APIs and multiple data models, different APIs use different data formats for storage and wire protocol. For example, SQL uses JSON, MongoDB uses BSON, Table uses EDM, Cassandra uses CQL, Gremlin uses JSON format. As a result, we recommend using the same API for all access to the data in a given account.

Each API operates independently, except the API for Gremlin and NoSQL, which are interoperable.

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 support site.

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 around China via the Azure datacenters?

Azure Cosmos DB is present across all Azure China 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.