Skip to content

Commit 744c12f

Browse files
committed
Manual copy edit
1 parent ce8efa5 commit 744c12f

File tree

1 file changed

+17
-12
lines changed

1 file changed

+17
-12
lines changed

articles/cosmos-db/optimize-cost-regions.md

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,30 +13,35 @@ ms.date: 02/22/2024
1313

1414
[!INCLUDE[NoSQL, MongoDB, Cassandra, Gremlin, Table](includes/appliesto-nosql-mongodb-cassandra-gremlin-table.md)]
1515

16-
You can add and remove regions to your Azure Cosmos DB account at any time. The throughput that you configure for various Azure Cosmos DB databases and containers is reserved in each region associated with your account. If the throughput provisioned per hour that is the sum of RU/s configured across all the databases and containers for your Azure Cosmos DB account is `T` and the number of Azure regions associated with your database account is `N`, then the total provisioned throughput for your Azure Cosmos DB account, for a given hour is equal to `T x N RU/s`.
16+
You can add and remove regions to your Azure Cosmos DB account at any time. The throughput that you configure for various Azure Cosmos DB databases and containers is reserved in each region associated with your account. If the throughput provisioned per hour that is the sum of request units per second (RU/s) configured across all the databases and containers for your Azure Cosmos DB account is `T` and the number of Azure regions associated with your database account is `N`, then the total provisioned throughput for your Azure Cosmos DB account, for a given hour is equal to `T x N` RU/s.
1717

18-
Provisioned throughput with single write region costs $0.008/hour per 100 RU/s and provisioned throughput with multiple writable regions costs $0.016/per hour per 100 RU/s. To learn more, see Azure Cosmos DB [Pricing page](https://azure.microsoft.com/pricing/details/cosmos-db/).
18+
Provisioned throughput with single write region and provisioned throughput with multiple writable regions can vary in cost. For more information, see [Azure Cosmos DB pricing](https://azure.microsoft.com/pricing/details/cosmos-db/).
1919

2020
## Costs for multiple write regions
2121

22-
In a multi-region writes system, the net available RUs for write operations increases `N` times where `N` is the number of write regions. Unlike single region writes, every region is now writable and supports conflict resolution. From the cost planning point of view, to perform `M` RU/s worth of writes worldwide, you need to configure `M` RUs at a container or database level. You can then add as many regions as you would like and use them for writes to perform `M` RU worth of worldwide writes.
22+
In a multi-region writes system, the net available RU/s for write operations increases `N` times where `N` is the number of write regions. Unlike single region writes, every region is now writable and supports conflict resolution. From the cost planning point of view, to perform `M` RU/s worth of writes worldwide, you need to configure `M` RU/s at a container or database level. You can then add as many regions as you would like and use them for writes to perform `M` RU/s worth of worldwide writes.
2323

2424
### Example
2525

26-
Consider that you have a container in West US configured for single-region writes, provisioned with throughput of 10K RU/s, storing 0.5 TB of data this month. Let’s assume you add a region, East US, with the same storage and throughput and you want the ability to write to the containers in both the regions from your app.
26+
Consider that you have a container in a single-region write scenario. That container is provisioned with throughput of `10K` RU/s and is storing `0.5` TB of data this month. Now, let’s assume you add another region with the same storage and throughput and you want the ability to write to the containers in both regions from your app.
2727

28-
This example details your new total monthly consumption (assuming 730 hours in a month):
28+
This example details your new total monthly consumption:
2929

30-
|**Item**|**Usage (monthly)**|
31-
|----|----|----|
32-
|Throughput bill for container in West US (single write region) |10K RU/s * 730 hours |
33-
|Throughput bill for container in two regions - West US & East US (multiple write regions) |2 * 10K RU/s * 730 hours |
34-
|Storage bill for container in West US |0.5 TB (or 512 GB) |
35-
|Storage bill for container in two regions - West US & East US |2 * 0.5 TB (or 1,024 GB) |
30+
| | Monthly usage |
31+
| --- | --- | --- |
32+
| **Throughput bill for container in a single write region** | `10K RU/s * 730 hours` |
33+
| **Throughput bill for container in multiple write regions (two)** | `2 * 10K RU/s * 730 hours` |
34+
| **Storage bill for container in a single write region** | `0.5 TB (or 512 GB)` |
35+
| **Storage bill for container in two write regions** | `2 * 0.5 TB (or 1,024 GB)` |
36+
37+
> [!NOTE]
38+
> This example assumes 730 hours in a month.
3639
3740
## Improve throughput utilization on a per region-basis
3841

39-
If you have inefficient utilization, you can take steps to make the maximum use of the RUs in read regions by using change feed from the read-region or move it to another secondary if over-utilized. For example, one or more under-utilized read regions is considered inefficient. You need to ensure you optimize provisioned throughput (RUs) in the write region first. Writes cost more than reads unless large queries so maintaining even utilization can be challenging. Overall, monitor the consumed throughput in your regions and add or remove regions on demand to scale your read and write throughput. Make sure to understand the effect to latency for any apps that are deployed in the same region.
42+
If you have inefficient utilization, you can take steps to make the maximum use of the RU/s in read regions by using change feed from the read-region. Or, you can move to another secondary if over-utilized. For example, one or more under-utilized read regions is considered inefficient. You need to ensure you optimize provisioned throughput (RU/s) in the write region first.
43+
44+
Writes cost more than reads for most cases excluding large queries. Maintaining even utilization can be challenging. Overall, monitor the consumed throughput in your regions and add or remove regions on demand to scale your read and write throughput. Make sure to understand the effect to latency for any apps that are deployed in the same region.
4045

4146
## Related content
4247

0 commit comments

Comments
 (0)