@@ -13,7 +13,7 @@ Scalability
1313 :class: onecol
1414
1515MongoDB {+service+} allows automated scaling, tiered storage, workload optimization, and other
16- features that can reduce your database costs as your data usage expands .
16+ features that ensure your application stays highly performant and reactive as your usage grows .
1717
1818{+service+} Features and Recommendations for Scalability
1919---------------------------------------------------------
@@ -22,9 +22,9 @@ Features
2222~~~~~~~~~
2323
2424:ref:`Auto-scaling <cluster-autoscaling>` allows you to dynamically allocate resources based on
25- real-time workload demands. This feature ensures that you only pay for the resources you use. By
25+ growing workload demands. This feature ensures that you only pay for the resources you use. By
2626configuring auto-scaling within predefined limits, you can effectively manage fluctuations in data
27- processing needs, maintain optimal performanc , and achieve cost efficiency. {+service+}
27+ processing needs, maintain optimal performance , and achieve cost efficiency. {+service+}
2828offers cluster auto-scaling for all tiers except for the highest tier. Auto-scaling enables
2929clusters to automatically adjust their tier, storage capacity, or both in response to real-time
3030use. {+service+} analyzes the CPU and memory utilization to determine when and whether to scale
@@ -33,9 +33,16 @@ that their cluster can automatically scale to. {+service+} won't scale a cluster
3333tier falls outside of your specified size range or if memory usage would exceed the capacity of
3434the new tier.
3535
36+ Auto-scaling is throttled with a delay to scale a cluster tier up or down. As such, it is ideal
37+ for a steadily growing or declining application load, not sudden spikes where the database is
38+ inundated with use. If your workload is spikey or you are expecting a large increase in traffic
39+ because of an event or launch, we recommend you pre-scale using a script.
40+
3641{+service+} deployment templates provide you with horizontal and vertical scaling options. Upgrading
3742an {+service+} cluster to the next available {+service+} tier is available through the {+service+}
38- control plane GUI. Changing an {+service+} tier, either upscaling or downscaling, is performed in a
43+ control plane GUI or the
44+ `Atlas Administration API <https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Clusters/operation/upgradeSharedCluster>`__.
45+ Changing an {+service+} tier, either upscaling or downscaling, is performed in a
3946rolling fashion and allows zero downtime. Horizontal scaling occurs manually post-deployment. Some
4047cluster templates require sharded clusters. Starting with MongoDB version 8.0, you may make use of
4148:manual:`embedded config servers </reference/command/transitionFromDedicatedConfigServer>` to reduce
@@ -49,18 +56,15 @@ Data tiering and archival allows you to archive data at low-cost storage while s
4956queries alongside live cluster data, which is particularly useful for long-term record retention.
5057To optimize this process, MongoDB recommends that you automate data archiving with simple, configurable
5158rules. Also, for scenarios where data retention is not a priority, {+service+} offers the option to
52- automatically delete unused data based on date criteria. For infrequently accessed data, {+service+}
53- online archive automates archiving an organization's infrequently accessed data to a fully managed S3
54- bucket while allowing you to query the archives through the same interface used for active cluster data.
55- This is particularly useful for managing large datasets, such as historical or time series data, where only
56- the most recent information needs to be quickly accessible. Additionally, :manual:`TTL indexes <core/index-ttl/>`
59+ automatically delete unused data based on date criteria. For infrequently accessed data, :manual:`TTL indexes <core/index-ttl/>`
5760are special single-field indexes that automatically delete documents from a collection after a specified
5861period or at a set clock time. This is particularly useful for data like logs, session information,
5962or event data that only needs to be retained for a limited time. To create a TTL index, you can define
6063an index on a field that holds date values and specify a time-to-live duration in seconds.
6164
6265{+service+} also provides you with automated tools, such as the :opsmgr:`Performance Advisor </current/tutorial/performance-advisor/>`,
63- to monitor and identify inefficient queries. You can reduce unnecessary compute time and resource
66+ to monitor and identify inefficient queries such as adding or removing an index or
67+ changing your client's query structure. You can reduce unnecessary compute time and resource
6468consumption by following actionable recommendations to enhance your query performance. Additionally,
6569you can leverage intelligent index recommendations provided by {+service+} to further improve data
6670retrieval efficiency and minimize the resources needed for database operations.
@@ -78,9 +82,10 @@ non-production environments.
7882
7983For staging and production environments, we recommend that you:
8084
81- - Use a
82- router-based, single-shard cluster to eliminate downtime when you
83- migrate to a shard key with sharded collections in the future.
85+ - Always deploy with a
86+ router-based, single-shard cluster. This future-proofs your cluster
87+ and minimizes disruptions in the event that you need to horizontally
88+ scale by sharding collections in the future with application load growth.
8489- Enable auto-scaling for compute and storage for instances where your
8590 application grows organically from small to medium.
8691
0 commit comments