For AI agents: a documentation index is available at https://www.mongodb.com/docs/llms.txt — markdown versions of all pages are available by appending .md to any URL path.
Docs Menu

Manage Storage on an Atlas Infinite Cluster

Atlas Infinite manages storage as a layer that is independent of the compute nodes that run your workload. The two layers scale separately, so you don't provision a disk for each node or resize that disk as your data grows. Instead, Atlas expands storage as your data grows. You can set a max storage limit on how much data the Atlas Infinite cluster can hold.

This page describes how Atlas Infinite manages storage, how to set and change the max storage limit for an Atlas Infinite cluster, and how to view storage usage and limits.

An Atlas Infinite cluster provides storage for up to 128 TB of logical data. During public preview, Atlas Infinite supports the M10 through M60 cluster tiers in the General cluster class, and the M40 Low-CPU through M60 Low-CPU tiers in the Low-CPU class.

The cluster tier sets the compute available to your Atlas Infinite cluster, not its storage capacity. Every supported cluster tier has access to the same storage capacity, and you can change the tier without changing how much data your Atlas Infinite cluster can hold. To change the cluster tier, see Modify the Cluster Tier.

Note

The M10 and M20 cluster tiers provide limited compute resources, which can degrade the performance of your cluster under heavy load. If you have a large data set, especially one with a large number of collections, deploy to a higher cluster tier.

Storage on an Atlas Infinite cluster is shared and independent of the compute nodes, so it behaves differently than storage on an Atlas Core cluster. On an Atlas Infinite cluster, Atlas handles storage as follows:

  • Atlas expands storage as your data grows, up to the max storage limit that caps the logical data size of the Atlas Infinite cluster. You don't select a disk size or enable storage auto-scaling.

  • Atlas keeps how much data you can store independent of your cluster tier. Adding data within the max storage limit doesn't require you to scale the tier, and scaling the tier doesn't change how much data your Atlas Infinite cluster can hold.

  • Atlas scales throughput with the cluster tier. A higher tier gives your Atlas Infinite cluster more throughput and, as a result, more IOPS. No node owns a volume, so you don't select a storage class, set provisioned IOPS, or enable IOPS auto-scaling. For the Atlas Core cluster storage options that these settings apply to, see Customize Atlas Core Cluster Storage.

  • Atlas maintains multiple copies of your data in the storage layer for high availability. If you scale the cluster tier or a compute node fails and triggers a failover, Atlas keeps your data in the storage layer instead of copying it to the new compute nodes.

  • Atlas meters storage as its own billing dimension, separate from compute and backup. To learn more, see MongoDB Atlas Infinite Cluster Costs.

To learn how the compute and storage layers fit together, see MongoDB Atlas Infinite: Architecture.

Atlas Infinite measures the data that an Atlas Infinite cluster holds as logical data size. Logical data size is the uncompressed size of the collections and indexes on your Atlas Infinite cluster. This represents the size of your data, not the physical storage that Atlas provisions to hold it.

To cap your Atlas Infinite cluster below 128 TB of logical data, you can set a max storage limit on the cluster. The max storage limit sets the maximum logical data size of the entire Atlas Infinite cluster. The max storage limit accepts a value from 1 GB to 128 TB. When the logical data size of an Atlas Infinite cluster approaches the max storage limit, Atlas blocks writes on the cluster but continues to serve reads.

To warn you before writes are blocked, Atlas raises an alert by default when the logical data size of an Atlas Infinite cluster exceeds 90% of its max storage limit. To configure this alert, see Atlas Infinite: Storage Space Used % is.

If you don't set a max storage limit on your Atlas Infinite cluster, the cluster can store up to 128 TB of logical data.

Note

During public preview, Atlas might throttle writes before your cluster reaches the limit that you set, to preserve system availability. If this happens, contact MongoDB Support through chat or by opening a support case. To learn more, see Request Support.

To set or view the max storage limit for your Atlas Infinite cluster, select your preferred interface and follow the instructions in the sections below:

You can set the max storage limit from the cluster configuration page in the Atlas UI. Open the cluster configuration page when you create or modify an Atlas Infinite cluster, and then expand the Cluster Tier section to display the Set a max storage limit checkbox.

To set the limit, select the checkbox and move the slider to your preferred value. To change the unit, select GB or TB from the drop-down menu next to the displayed value. If you don't set a limit, the cluster can store up to 128 TB of logical data.

To set the max storage limit when you provision an Atlas Infinite cluster, send a POST request to the Create One Cluster endpoint. To change the limit on an existing Atlas Infinite cluster, send a PATCH request to the Update One Cluster endpoint.

In the request body, set the shardSizeLimitGB field in each region configuration's autoScaling.storageConfig object, under replicationSpecs[].regionConfigs[]. This field takes the max storage limit in gigabytes, as a value from 1 (1 GB) to 131072 (128 TB).

If you don't set shardSizeLimitGB when you create an Atlas Infinite cluster, the cluster can store up to 128 TB of logical data. If you omit shardSizeLimitGB when you update an existing Atlas Infinite cluster, Atlas leaves the current max storage limit unchanged.

Note

Each entry in replicationSpecs[] represents a shard in an Atlas cluster, and each entry in regionConfigs[] represents a region configuration in that shard. During public preview, Atlas Infinite clusters support single-region replica set deployments only, so replicationSpecs[] and regionConfigs[] each contain a single entry. You therefore set shardSizeLimitGB once, and it applies to the entire cluster.

For example, the following request body to the Create One Cluster endpoint provisions an Atlas Infinite cluster with a max storage limit of 98,304 GB (96 TB). The request body also sets the cluster tier to M50 and deploys the cluster in the US_EAST_1 region.

Example Request Body
{
"clusterType": "REPLICASET",
"databaseEdition": "INFINITE",
"name": "myCluster",
"replicationSpecs": [
{
"regionConfigs": [
{
"autoScaling": {
"storageConfig": {
"shardSizeLimitGB": 98304
}
},
"electableSpecs": {
"instanceSize": "M50",
"nodeCount": 2
},
"priority": 7,
"providerName": "AWS",
"regionName": "US_EAST_1"
}
]
}
]
}

To view storage usage and limits for each Atlas Infinite cluster in the Atlas UI:

1
  1. If it's not already displayed, select the organization that contains your desired project from the Organizations menu in the navigation bar.

  2. If it's not already displayed, select your desired project from the Projects menu in the navigation bar.

  3. In the sidebar, click Clusters under the Database heading.

The Clusters page displays.

2

The cluster card for your Atlas Infinite cluster displays a Data Size chart that plots your logical data size against the max storage limit that Atlas enforces.

The cluster card also displays a warning as your data approaches the ceiling that the chart measures against.

Note

The Data Size chart only appears for Atlas Infinite clusters. For Atlas Core clusters, the cluster card displays a Disk Usage chart instead, which plots the disk space used on your primary node's data volumes against the storage capacity of those volumes. To learn more about how storage works on an Atlas Core cluster, see Customize Atlas Core Cluster Storage.

To view the max storage limit for one Atlas Infinite cluster, send a GET request to the Return One Cluster endpoint. To view the max storage limit for every cluster in a project, send a GET request to the Return All Clusters in One Project endpoint.

If you set a limit, Atlas returns that value in the following field of the response body. If you don't set a limit, Atlas omits the storageConfig object from replicationSpecs[]:

replicationSpecs[].regionConfigs[].autoScaling.storageConfig.shardSizeLimitGB

Atlas always reports the current, enforced max storage limit in the following field of the response body. If you don't set a limit, this field reports 131072 (128 TB):

effectiveReplicationSpecs[].regionConfigs[].autoScaling.storageConfig.shardSizeLimitGB