@@ -13,7 +13,7 @@ Scalability
13
13
:class: onecol
14
14
15
15
MongoDB {+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 .
17
17
18
18
{+service+} Features and Recommendations for Scalability
19
19
---------------------------------------------------------
@@ -22,9 +22,9 @@ Features
22
22
~~~~~~~~~
23
23
24
24
: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
26
26
configuring 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+}
28
28
offers cluster auto-scaling for all tiers except for the highest tier. Auto-scaling enables
29
29
clusters to automatically adjust their tier, storage capacity, or both in response to real-time
30
30
use. {+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
33
33
tier falls outside of your specified size range or if memory usage would exceed the capacity of
34
34
the new tier.
35
35
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
+
36
41
{+service+} deployment templates provide you with horizontal and vertical scaling options. Upgrading
37
42
an {+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
39
46
rolling fashion and allows zero downtime. Horizontal scaling occurs manually post-deployment. Some
40
47
cluster templates require sharded clusters. Starting with MongoDB version 8.0, you may make use of
41
48
: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
49
56
queries alongside live cluster data, which is particularly useful for long-term record retention.
50
57
To optimize this process, MongoDB recommends that you automate data archiving with simple, configurable
51
58
rules. 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/>`
57
60
are special single-field indexes that automatically delete documents from a collection after a specified
58
61
period or at a set clock time. This is particularly useful for data like logs, session information,
59
62
or event data that only needs to be retained for a limited time. To create a TTL index, you can define
60
63
an index on a field that holds date values and specify a time-to-live duration in seconds.
61
64
62
65
{+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
64
68
consumption by following actionable recommendations to enhance your query performance. Additionally,
65
69
you can leverage intelligent index recommendations provided by {+service+} to further improve data
66
70
retrieval efficiency and minimize the resources needed for database operations.
@@ -78,9 +82,10 @@ non-production environments.
78
82
79
83
For staging and production environments, we recommend that you:
80
84
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.
84
89
- Enable auto-scaling for compute and storage for instances where your
85
90
application grows organically from small to medium.
86
91
0 commit comments