Skip to content

Commit 6ca150f

Browse files
authored
Update scalability-overview.md
1 parent e2bc2b5 commit 6ca150f

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

articles/cosmos-db/mongodb/vcore/scalability-overview.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ ms.topic: conceptual
1010
ms.date: 07/22/2024
1111
---
1212

13+
# Scalability in Azure Cosmos DB for MongoDB (vCore)
14+
1315
The vCore based service for Azure Cosmos DB for MongoDB offers the ability to scale clusters both vertically and horizontally. While the Compute cluster tier and Storage disk functionally depend on each other, the scalability and cost of compute and storage are decoupled.
1416

15-
# Vertical Scaling
17+
## Vertical Scaling
1618
Vertical scaling offers the following benefits:
1719
- Application teams may not always have a clear path to logically shard their data. Moreover, logical sharding is defined per collection. In a dataset with several unsharded collections, data modeling to partition the data can quickly become tedious. Simply scaling up the cluster can circumvent the need for logical sharding while meeting the growing storage and compute needs of the application.
1820
- Vertical scaling does not require data rebalancing. The number of physical shards remains the same and only the capacity of the cluster is increased with no impact to the application.
@@ -21,7 +23,7 @@ Vertical scaling offers the following benefits:
2123
- Most importantly, Compute and Storage can be scaled independently. If more cores and memory are needed, the disk SKU can be left as is and the cluster tier can be scaled up. Equally, if more storage and IOPS are needed, the cluster tier can be left as is and the Storage SKU can be scaled up independently. If needed, both Compute and Storage can be scaled independently to optimize for each component's requirements individually, without either component's elasticity requirements affecting the other.
2224

2325

24-
# Horizontal Scaling
26+
## Horizontal Scaling
2527
Eventually, the application grows to a point where scaling vertically is not sufficient. Workload requirements can grow beyond the capacity of the largest cluster tier and eventually more shards are needed. Horizontal scaling in the vCore based offering for Azure Cosmos DB for MongoDB offers the following benefits:
2628
- Logically sharded datasets do not require user intervention to balance data across the underlying physical shards. The service automatically maps logical shards to physical shards. When nodes are added or removed, data is automatically rebalanaced the database under the covers.
2729
- Requests are automatically routed to the relevant physical shard that owns the hash range for the data being queried.
@@ -38,11 +40,11 @@ Disk IOPS influences write operations in the vCore based service for Azure Cosmo
3840
- The service supports upto 32 TB disks per shard, with more IOPS per shard to benefit write heavy workloads, particularly when running at scale.
3941

4042

41-
# Storage heavy workloads and large disks
42-
## No minimum storage requirements per cluster tier
43+
## Storage heavy workloads and large disks
44+
### No minimum storage requirements per cluster tier
4345
As mentioned earlier, storage and compute resources are decoupled for billing and provisioning. While they function as a cohesive unit, they can be scaled independently. The M30 cluster tier can have 32 TB disks provisioned. Similarly, the M200 cluster tier can have 32 GB disks provisioned to optimize for both storage and compute costs.
4446

45-
## Lower TCO with large disks (32 TB and beyond)
47+
### Lower TCO with large disks (32 TB and beyond)
4648
Typically, NoSQL databases with a vCore based model limit the storage per physical shard to 4 TB. The vCore based service for Azure Cosmos DB for MongoDB provides upto 8x that capacity with 32 TB disks and plans to expand to 64 TB and 128 TB disks per shard soon. For storage heavy workloads, a 4 TB storage capacity per physical shard requires a massive fleet of compute resources just to sustain the storage requirements of the workload. Compute is more expensive than storage and over provisioning compute due to capacity limits in a service can inflate costs rapidly.
4749

4850
Let's consider a storage heavy workload with 200 TB of data.
@@ -54,7 +56,7 @@ Let's consider a storage heavy workload with 200 TB of data.
5456

5557
The reduction in Compute requirements reduces sharply with larger disks. While more than the minimum number of physical shards may be needed sustain the throughput requirements of the workload, even doubling or tripling the number of shards are more cost effective than a 50 shard cluster with smaller disks.
5658

57-
## Skip storage tiering with large disks
59+
### Skip storage tiering with large disks
5860
An immediate response to compute costs in storage heavy scenarios is to "tier" the data. Data in the transactional database is limited to the most frequently accessed "hot" data while the larger volume of "cold" data is detached to a cold store. This causes operational complexity. Performance is also unpredictable and dependent upon the data tier that is accessed. Furthermore, the availability of the entire system is dependent on the resiliency of both the hot and cold data stores combined. With large disks in the vCore service, there is no need for tiered storage as the cost of storage heavy workloads is minimized.
5961

6062
## Next steps

0 commit comments

Comments
 (0)