Skip to content

Commit fc8b2de

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into work03
2 parents c2c08e9 + e455e22 commit fc8b2de

14 files changed

+200
-86
lines changed

.openpublishing.redirection.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2352,6 +2352,16 @@
23522352
"redirect_url": "/azure/cosmos-db/conflict-resolution-policies",
23532353
"redirect_document_id": true
23542354
},
2355+
{
2356+
"source_path": "articles/cosmos-db/provision-throughput-autopilot.md",
2357+
"redirect_url": "/azure/cosmos-db/provision-throughput-autoscale",
2358+
"redirect_document_id": true
2359+
},
2360+
{
2361+
"source_path": "articles/cosmos-db/autopilot-faq.md",
2362+
"redirect_url": "/azure/cosmos-db/autoscale-faq",
2363+
"redirect_document_id": true
2364+
},
23552365
{
23562366
"source_path": "articles/cosmos-db/how-to-custom-synchronization.md",
23572367
"redirect_url": "/azure/cosmos-db/how-to-multi-master",

articles/cosmos-db/TOC.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,10 @@
136136
- name: Provision throughput on containers and databases
137137
displayName: request units, RUs, RU, limits, database throughput, shared throughput, container throughput
138138
href: set-throughput.md
139-
- name: Provision throughput - autopilot mode
140-
href: provision-throughput-autopilot.md
141-
- name: Autopilot FAQ
142-
href: autopilot-faq.md
139+
- name: Provision throughput - autoscale mode
140+
href: provision-throughput-autoscale.md
141+
- name: Autoscale FAQ
142+
href: autoscale-faq.md
143143
- name: SQL query
144144
items:
145145
- name: Getting started
Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,62 @@
11
---
2-
title: Frequently asked questions about throughput in Azure Cosmos DB autopilot mode
3-
description: Frequently asked questions about autopilot mode for Azure Cosmos DB databases and containers
2+
title: Frequently asked questions on autoscale mode in Azure Cosmos DB
3+
description: Frequently asked questions about autoscale provisioned throughput for Azure Cosmos DB databases and containers
44
author: deborahc
55
ms.author: dech
66
ms.service: cosmos-db
77
ms.topic: conceptual
8-
ms.date: 12/16/2019
8+
ms.date: 04/28/2020
99
---
1010

11-
# Frequently asked questions about provisioned throughput in Azure Cosmos DB autopilot mode (Preview)
12-
With autopilot mode, Azure Cosmos DB will automatically manage and scale the RU/s of your container or database based on usage. This article answers commonly asked questions about autopilot mode.
11+
# Frequently asked questions about autoscale provisioned throughput in Azure Cosmos DB
12+
13+
With provisioned throughput in autoscale mode, Azure Cosmos DB will automatically manage and scale the RU/s of your container or database based on usage. This article answers commonly asked questions about autoscale.
1314

1415
## Frequently asked questions
1516

16-
### Is autopilot mode supported for all APIs?
17-
Yes, autopilot mode is supported for all APIs: Core (SQL), Gremlin, Table, Cassandra, and API for MongoDB.
17+
### Is autoscale mode supported for all APIs?
18+
Yes, autoscale mode is supported for all APIs: Core (SQL), Gremlin, Table, Cassandra, and API for MongoDB.
1819

19-
### Is autopilot mode supported for multi-master accounts?
20-
Yes, autopilot mode is supported for multi-master accounts. The max RU/s are available in each region that is added to the Cosmos account.
20+
### Is autoscale mode supported for multi-master accounts?
21+
Yes, autoscale mode is supported for multi-master accounts. The max RU/s are available in each region that is added to the Cosmos account.
2122

22-
### What is the pricing for autopilot?
23+
### What is the pricing for autoscale?
2324
Refer to the Azure Cosmos DB [pricing page](https://azure.microsoft.com/pricing/details/cosmos-db/) for details.
2425

25-
### How do I enable autopilot for my containers or databases?
26-
Autopilot mode can be enabled on new containers and databases created using the Azure portal.
26+
### How do I enable autoscale for my containers or databases?
27+
Autoscale mode can be enabled on new containers and databases created using the Azure portal.
2728

28-
### Is there CLI or SDK support to create containers or databases with autopilot mode?
29-
Currently, in the preview release, you can only create resources with autopilot mode from the Azure portal. Support for CLI and SDK is not yet available.
29+
### Is there CLI or SDK support to create containers or databases with autoscale mode?
30+
Currently, you can only create resources with autoscale mode from the Azure portal. Support for CLI and SDK is not yet available.
3031

31-
### Can I enable autopilot on an existing container or a database?
32-
Currently, you can enable autopilot on new containers and databases when creating them. Support to enable autopilot mode on existing containers and databases is not yet available. You can migrate existing containers to a new container using [Azure Data Factory](../data-factory/connector-azure-cosmos-db.md) or [change feed](change-feed.md).
32+
### Can I enable autoscale on an existing container or a database?
33+
Currently, you can enable autoscale on new containers and databases when creating them. Support to enable autoscale mode on existing containers and databases is not yet available. You can migrate existing containers to a new container using [Azure Data Factory](../data-factory/connector-azure-cosmos-db.md) or [change feed](change-feed.md).
3334

34-
### Can I turn off autopilot mode on a container or database?
35-
Yes, you can turn off autopilot by switching to the 'Manual' option for the provisioned throughput. In the preview release, after switching from autopilot mode to manual mode, you cannot enable autopilot again for the same resource.
35+
### Can I turn off autoscale mode on a container or database?
36+
Yes, you can turn off autoscale by switching to the 'Manual' option for the provisioned throughput. In the current release, after switching from autoscale mode to manual mode, you cannot enable autoscale again for the same resource.
3637

37-
### Is autopilot mode supported for shared throughput databases?
38-
Yes, autopilot mode is supported for shared throughput databases. To enable this feature, select autopilot mode and the **Provision throughput** option when creating the database.
38+
### Is autoscale mode supported for shared throughput databases?
39+
Yes, autoscale mode is supported for shared throughput databases. To enable this feature, select autoscale mode and the **Provision throughput** option when creating the database.
3940

40-
### What is the number of allowed collections per shared throughput database when autopilot is enabled?
41-
For shared throughput databases with autopilot mode enabled, the number of allowed collections is: MIN(25, Max RU/s of database / 1000). For example, if the max throughput of the database is 20,000 RU/s, the database can have MIN(25, 20,000 RU/s / 1000) = 20 collections.
41+
### What is the number of allowed collections per shared throughput database when autoscale is enabled?
42+
For shared throughput databases with autoscale mode enabled, the number of allowed collections is: MIN(25, Max RU/s of database / 1000). For example, if the max throughput of the database is 20,000 RU/s, the database can have MIN(25, 20,000 RU/s / 1000) = 20 collections.
4243

4344

4445
### What is the storage limit associated with each max RU/s option?
4546
The storage limit in GB for each max RU/s is: Max RU/s of database or container / 100. For example, if the max RU/s is 20,000 RU/s, the resource can support 200 GB of storage.
46-
See the [autopilot limits](provision-throughput-autopilot.md#autopilot-limits) article for the available max RU/s and storage options.
47+
See the [autoscale limits](provision-throughput-autoscale.md#autoscale-limits) article for the available max RU/s and storage options.
4748

4849
### What happens if I exceed the storage limit associated with my max throughput?
4950
If the storage limit associated with the max throughput of the database or container is exceeded, Azure Cosmos DB will automatically increase the max throughput to the next highest tier that can support that level of storage. For example, suppose a database or container is provisioned with the 4000 RU/s max throughput option, which has a storage limit of 50 GB. If the storage of the resource increases to 100 GB, the max RU/s of the database or container will be automatically increased to 20,000 RU/s, which can support up to 200 GB.
5051

51-
### How quickly will autopilot scale up and down based on spikes in traffic?
52-
Autopilot will instantaneously scale up or scale down the RU/s within the minimum and maximum RU/s range, based on incoming traffic. Billing is done at a 1-hour granularity, where you are charged for the highest RU/s in a particular hour.
52+
### How quickly will autoscale up and down based on spikes in traffic?
53+
In autoscale mode, you can instantaneously scale up or scale down the RU/s within the minimum and maximum RU/s range, based on incoming traffic. Billing is done at a 1-hour granularity, where you are charged for the highest RU/s in a particular hour.
5354

54-
### Can I specify a custom max throughput (RU/s) value for autopilot mode?
55-
Currently, during the preview release, you can select between [four options](provision-throughput-autopilot.md#autopilot-limits) for max throughput (RU/s).
55+
### Can I specify a custom max throughput (RU/s) value for autoscale mode?
56+
Currently, you can select between [four options](provision-throughput-autoscale.md#autoscale-limits) for max throughput (RU/s).
5657

5758
### Can I increase the max RU/s (move to a higher tier) on the database or container?
58-
Yes. From the **Scale & Settings** option for your container, or **Scale** option for your database, you can select a higher max RU/s for autopilot. This is an asynchronous scale-up operation that may take sometime to complete (typically 4-6 hours, depending on the RU/s selected) as the service provisions more resources to support the higher scale.
59+
Yes. From the **Scale & Settings** option for your container, or **Scale** option for your database, you can select a higher max RU/s for autoscale mode. This is an asynchronous scale-up operation that may take sometime to complete (typically 4-6 hours, depending on the RU/s selected) as the service provisions more resources to support the higher scale.
5960

6061
### Can I reduce the max RU/s (move to a lower tier) on the database or container?
6162
Yes. As long as the current storage of the database or container is below the [storage limit](#what-is-the-storage-limit-associated-with-each-max-rus-option) associated with the max RU/s tier you want to scale down to, you can reduce the max RU/s to that tier. For example, if you have selected 20,000 RU/s as the max RU/s, you can scale down the max RU/s to 4000 RU/s if you have less than 50 GB of storage (the storage limit associated with 4000 RU/s).
@@ -69,9 +70,9 @@ The Max RU/s of the database or container is divided evenly across all physical
6970
If the overall consumed RU/s exceeds the max RU/s of the container or database, requests that exceed the max RU/s will be throttled and return a 429 status code. Requests that result in over 100% normalized utilization will also be throttled. Normalized utilization is defined as the max of the RU/s utilization across all physical partitions. For example, suppose your max throughput is 20,000 RU/s and you have two physical partitions, P_1 and P_2, each capable of scaling to 10,000 RU/s. In a given second, if P_1 has used 6000 RUs, and P_2 8000 RUs, the normalized utilization is MAX(6000 RU / 10,000 RU, 8000 RU / 10,000 RU) = 0.8.
7071

7172
> [!NOTE]
72-
> The Azure Cosmos DB client SDKs and data import tools (Azure Data Factory, bulk executor library) automatically retry on 429s, so occasional 429s are fine. A sustained high number of 429s may indicate you need to increase the max RU/s or review your partitioning strategy for a [hot partition](#is-it-still-possible-to-see-429s-throttlingrate-limiting-when-autopilot-is-enabled).
73+
> The Azure Cosmos DB client SDKs and data import tools (Azure Data Factory, bulk executor library) automatically retry on 429s, so occasional 429s are fine. A sustained high number of 429s may indicate you need to increase the max RU/s or review your partitioning strategy for a [hot partition](#autoscale-rate-limiting).
7374
74-
### Is it still possible to see 429s (throttling/rate limiting) when autopilot is enabled?
75+
### <a id="autoscale-rate-limiting"></a> Is it still possible to see 429s (throttling/rate limiting) when autoscale is enabled?
7576
Yes. It is possible to see 429s in two scenarios. First, when the overall consumed RU/s exceeds the max RU/s of the container or database, the service will throttle requests accordingly.
7677

7778
Second, if there is a hot partition, i.e. a logical partition key value that has a disproportionately higher amount of requests compared to other partition key values, it is possible for the underlying physical partition to exceed its RU/s budget. As a best practice, to avoid hot partitions, [choose a good partition key](partitioning-overview.md#choose-partitionkey) that results in an even distribution of both storage and throughput.
@@ -80,6 +81,6 @@ For example, if you select the 20,000 RU/s max throughput option and have 200 GB
8081

8182
## Next steps
8283

83-
* Learn how to [enable autopilot on an Azure Cosmos container or database](provision-throughput-autopilot.md#create-a-database-or-a-container-with-autopilot-mode).
84-
* Learn about the [benefits of autopilot](provision-throughput-autopilot.md#benefits-of-autopilot-mode).
84+
* Learn how to [enable autoscale on an Azure Cosmos container or database](provision-throughput-autoscale.md#create-db-container-autoscale).
85+
* Learn about the [benefits of provisioned throughput in autoscale mode](provision-throughput-autoscale.md#autoscale-benefits).
8586
* Learn more about [logical and physical partitions](partition-data.md).

articles/cosmos-db/concepts-limits.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,9 +133,9 @@ Cosmos DB uses HMAC for authorization. You can use either a master key, or a [re
133133

134134
Cosmos DB supports execution of triggers during writes. The service supports a maximum of one pre-trigger and one post-trigger per write operation.
135135

136-
## Autopilot mode limits
136+
## Autoscale mode limits
137137

138-
See the [Autopilot](provision-throughput-autopilot.md#autopilot-limits) article for the throughput and storage limits in autopilot mode.
138+
See the [Autoscale](provision-throughput-autoscale.md#autoscale-limits) article for the throughput and storage limits in autoscale mode.
139139

140140
## SQL query limits
141141

articles/cosmos-db/manage-scale-cassandra.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ If you need to minimize latency, there is a spectrum of options for managing sca
2929
* [Manually by using the Azure portal](#use-azure-portal)
3030
* [Programmatically by using the control plane features](#use-control-plane)
3131
* [Programmatically by using CQL commands with a specific SDK](#use-cql-queries)
32-
* [Dynamically by using Autopilot](#use-autopilot)
32+
* [Dynamically by using autoscale](#use-autoscale)
3333

3434
The following sections explain the advantages and disadvantages of each approach. You can then decide on the best strategy to balance the scaling needs of your system, the overall cost, and efficiency needs for your solution.
3535

@@ -41,23 +41,23 @@ The advantage of this method is that it is a straightforward turnkey way to mana
4141

4242
## <a id="use-control-plane"></a>Use the control plane
4343

44-
The Azure Cosmos DB's API for Cassandra provides the capability to adjust throughput programmatically by using our various control-plane features. See the [Azure Resource Manager](manage-cassandra-with-resource-manager.md), [Powershell](powershell-samples-cassandra.md), and [Azure CLI](cli-samples-cassandra.md) articles for guidance and samples.
44+
The Azure Cosmos DB's API for Cassandra provides the capability to adjust throughput programmatically by using our various control-plane features. See the [Azure Resource Manager](manage-cassandra-with-resource-manager.md), [PowerShell](powershell-samples-cassandra.md), and [Azure CLI](cli-samples-cassandra.md) articles for guidance and samples.
4545

46-
The advantage of this method is that you can automate the scaling up or down of resources based on a timer to account for peak activity, or periods of low activity. Take a look at our sample [here](https://github.com/Azure-Samples/azure-cosmos-throughput-scheduler) for how to accomplish this using Azure Functions and Powershell.
46+
The advantage of this method is that you can automate the scaling up or down of resources based on a timer to account for peak activity, or periods of low activity. Take a look at our sample [here](https://github.com/Azure-Samples/azure-cosmos-throughput-scheduler) for how to accomplish this using Azure Functions and PowerShell.
4747

48-
A disadvantage with this approach may be that you cannot respond to unpredictable changing scale needs in real-time. Instead, you may need to leverage the application context in your system, at the client/SDK level, or using [Autopilot](provision-throughput-autopilot.md).
48+
A disadvantage with this approach may be that you cannot respond to unpredictable changing scale needs in real-time. Instead, you may need to leverage the application context in your system, at the client/SDK level, or using [Autoscale](provision-throughput-autoscale.md).
4949

5050
## <a id="use-cql-queries"></a>Use CQL queries with a specific SDK
5151

5252
You can scale the system dynamically with code by executing the [CQL ALTER commands](cassandra-support.md#keyspace-and-table-options) for the given database or container.
5353

54-
The advantage of this approach is that it allows you to respond to scale needs dynamically and in a custom way that suits your application. With this approach, you can still leverage the standard RU/s charges and rates. If your system's scale needs are mostly predictable (around 70% or more), using SDK with CQL may be a more cost-effective method of auto-scaling than using Autopilot. The disadvantage of this approach is that it can be quite complex to implement retries while rate limiting may increase latency.
54+
The advantage of this approach is that it allows you to respond to scale needs dynamically and in a custom way that suits your application. With this approach, you can still leverage the standard RU/s charges and rates. If your system's scale needs are mostly predictable (around 70% or more), using SDK with CQL may be a more cost-effective method of auto-scaling than using autoscale. The disadvantage of this approach is that it can be quite complex to implement retries while rate limiting may increase latency.
5555

56-
## <a id="use-autopilot"></a>Use Autopilot
56+
## <a id="use-autoscale"></a>Use autoscale
5757

58-
In addition to manual or programmatic way of provisioning throughput, you can also configure Azure cosmos containers in Autopilot mode. Autopilot mode will automatically and instantly scale to your consumption needs within specified RU ranges without compromising SLAs. To learn more, see the [Create Azure Cosmos containers and databases in autopilot mode](provision-throughput-autopilot.md) article.
58+
In addition to manual or programmatic way of provisioning throughput, you can also configure Azure cosmos containers in autoscale mode. Autoscale mode will automatically and instantly scale to your consumption needs within specified RU ranges without compromising SLAs. To learn more, see the [Create Azure Cosmos containers and databases in autoscale mode](provision-throughput-autoscale.md) article.
5959

60-
The advantage of this approach is that it is the easiest way to manage the scaling needs in your system. It guarantees not to apply rate-limiting **within the configured RU ranges**. The disadvantage is that, if the scaling needs in your system are predictable, Autopilot may be a less cost-effective way of handling your scaling needs than using the bespoke control plane or SDK level approaches mentioned above.
60+
The advantage of this approach is that it is the easiest way to manage the scaling needs in your system. It guarantees not to apply rate-limiting **within the configured RU ranges**. The disadvantage is that, if the scaling needs in your system are predictable, autoscale may be a less cost-effective way of handling your scaling needs than using the bespoke control plane or SDK level approaches mentioned above.
6161

6262
## Next steps
6363

0 commit comments

Comments
 (0)