Review Deployment Options
On this page
You can structure your Atlas cluster with different deployment types, cloud providers, and cluster tiers to meet the needs of a pre-production or production environment. Use these recommendations to select the deployment type, cloud provider and region, and cluster and search tiers for performing vector search.
Environment | Deployment Type | Cluster Tier | Cloud Provider Region | Node Architecture |
---|---|---|---|---|
Testing Queries | Shared or dedicated cluster Local deployment | M0 , M2 , M5 , or higher tierN/A | All N/A | MongoDB and Search processes run on the same node |
Prototyping Applications | Dedicated cluster | M10 , M20 , or higher tier | All | MongoDB and Search processes run on the same node |
Production | Dedicated cluster with separate Search Nodes | M10 or higher cluster tier and S30 or higher search tier | AWS in some regions or Google Cloud and Azure in all regions | MongoDB and Search processes run on different nodes |
To learn more about these deployment models, review the following sections:
Testing and Prototyping Environments
For testing your vector search queries and prototyping your application, we recommend the following configuration.
Deployment Type
For testing Atlas Vector Search queries, you can deploy a shared or dedicated cluster or a local Atlas deployments.
Cluster Tiers
Shared clusters include the M0
, M2
, and M5
tiers. These
low-cost cluster types are available for testing your Atlas Vector Search queries.
However, you might experience resource contention and query latency on
shared clusters. If you begin your project with a shared
cluster, we recommend upgrading to a higher tier when your
application is ready for production.
Dedicated clusters include M10
and higher tiers. The M10
and
M20
tiers are suitable for prototyping your application. You can
upgrade to higher tiers to handle large datasets or deploy
dedicated Search Nodes for workload
isolation when your application is ready for production.
Cloud Provider and Region
The cloud provider and region that you choose affects the configuration options available for the cluster tiers and the cost of running the cluster.
All the cluster tiers are available in all the supported cloud provider regions.
If you prefer to test Atlas Vector Search queries locally, you can use the Atlas CLI to deploy a single-node replica set hosted on your local computer. To get started, complete the Atlas Vector Search Quick Start and select the tab for local deployments.
When your application is ready for production, migrate your local Atlas deployment to a production environment by using Live Migration. Local deployments are limited by the CPU, memory, and storage resources of your local machine.
Node Architecture
In this deployment model, the search mongot
process runs alongside
mongod
on each node in the Atlas cluster. The mongod
process routes queries to the mongot
on the same node and they share
the same resources.
By default, Atlas enables the search mongot
process on the same
node that runs the mongod
process when you create your first
Atlas Vector Search index. The mongot
process performs the actions
described in About the mongot
Process.
Limitations
You might experience resource contention between the database mongod
and the search mongot
processes. This could negatively impact the
performance of your index and latency of your queries. We recommend this
deployment model for only testing and prototyping environments. For
production-ready applications and associated search workloads, we
recommend migrating to dedicated Search Nodes.
Production Environment
For your production-ready application, we recommend the following cluster configuration.
Deployment Type
For production-ready applications, you need a dedicated cluster.
Cluster Tiers
Dedicated clusters include M10
and higher tiers. The M10
and
M20
tiers are suitable for development and for production
environments. However, the higher tiers can handle large datasets and
production workloads. We recommend that you also deploy dedicated
Search Nodes for your search workload. This
allows you to scale your search deployment independently and
appropriately.
Cloud Provider and Region
The cloud provider and region that you choose affects the configuration options and search tiers available for the cluster and the cost of running the cluster.
All the cluster tiers are available in all the supported cloud provider regions with the exception of certain AWS regions. For clusters hosted on AWS, you must select a cloud provider available for your deployment.
Node Architecture
In this deployment model, the mongot
process runs on Search Nodes,
which are separate from the cluster nodes on which the mongod
process runs. Atlas deploys Search Nodes with each cluster or
with each shard on the cluster.
For example, if you deploy two Search Nodes for a cluster with three shards, Atlas deploys six Search Nodes, two per shard. You can also configure the number of Search Nodes and the amount of resources provisioned for each search node.
When you deploy separate Search Nodes, Atlas automatically assigns a
mongod
for each mongot
for indexing. The mongot
communicates
with the mongod
to listen for and sync index changes for the indexes
that it stores. Atlas Vector Search indexes and processes your queries
similar to when both the mongod
and mongot
processes run on
the same node. To learn more, see How to Index Fields for Vector Search and Run Vector Search Queries. To
learn more about deploying Search Nodes separately, see
Search Nodes for Workload Isolation.
When you migrate to Search Nodes, Atlas deploys the Search Nodes, but doesn't serve queries on the nodes until it successfully builds all the indexes on the cluster on the Search Nodes. While Atlas builds the indexes on the new nodes, it continues to serve queries using the indexes on the cluster nodes. Atlas starts serving queries from the Search Nodes only after it successfully builds the indexes on the Search Nodes and removes the indexes on the cluster nodes.
If you delete all the Search Nodes on your cluster, there will be an
interruption in processing your search query results. To learn more, see
Modify a Cluster. If you delete
your Atlas cluster, Atlas pauses and then deletes all
associated Atlas Vector Search deployments (mongot
processes).
Benefits
This deployment model provides the following benefits:
Efficiently utilize your resources while ensuring high availability of your resources for search workloads.
Size and scale your search deployment independently from your database deployment.
Automatically process Atlas Vector Search queries concurrently, improving the response time especially on large datasets. To learn more, see Parallel Query Execution Across Segments.
Size and Scale Your Cluster
Atlas Vector Search holds the entire index in memory, so you need to ensure there's enough memory for the Atlas Vector Search index and JVM. Each index is a combination of the vectors being indexed and additional metadata. The index size is primarily determined by the size of the vectors that you are indexing, with metadata space typically being relatively nominal.
Consider the following requirements for a single vector:
Embedding Model | Vector Dimension | Space Requirement |
---|---|---|
OpenAI text-embedding-ada-002 | 1536 | 6kb |
Google text-embedding-gecko | 768 | 3kb |
Cohere embed-english-v3.0 | 1024 | 1.07kb |
BinData
vector
subtype int8
quantized vectors. To learn more, see
Ingest Quantized Vectors.
The required space scales linearly with the number of vectors that you are indexing and with the vector dimensionality. You can also use the Search Index Size metric to determine the amount of space and memory you need on your Search Nodes.
When you deploy dedicated Search Nodes, you can choose from different search tiers. Each search tier has a default RAM capacity, storage capacity, and CPU. This allows you to size and scale your cluster independently from your database deployment. To scale your search deployment separately, you can make the following changes to your cluster configuration at any time:
Adjust the number of Search Nodes on your cluster.
Adjust the CPU, RAM, and storage of the node by changing search tiers.
Note
To learn more about the cost of Search Nodes and search tiers, expand View all plan features and click Atlas Vector Search in the the MongoDB Pricing page.
We recommend that your node has RAM that is at least 10% larger than the total size of your Atlas Vector Search indexes. We also recommend that you ensure you have enough available CPUs. Query latency depends on the number of available CPUs, which can significantly impact the level of internal concurrency that accelerates query performance.
Example
Suppose you have 1M 768 dimensions vectors of roughly 3GB in size. Both the S30 (Low-CPU) and S20 (High-CPU) search tiers have enough RAM to support the index. Instead of deploying on the S30 (Low-CPU) search tier, we recommend deploying on the S20 (High-CPU) search tier because the S20 (High-CPU) search tier has more available CPUs to run queries concurrently.
Migrate to Dedicated Search Nodes
Dedicated Search Nodes allow you to both size and scale your search deployment separately from your cluster. It also eliminates any resource contention that you might experience on a cluster that runs both the database and search processes on the same node.
To migrate to dedicated Search Nodes, make the following changes to your deployment:
If your deployment is currently using a shared tier, upgrade your cluster to a higher tier. Dedicated Search Nodes are supported only for
M10
and higher cluster tiers. To learn more about migrating to a different cluster tier, see Modify the Cluster Tier.Dedicated Search Nodes are available on a subset of the AWS regions and in all supported Google Cloud and Azure regions. Make sure to deploy your cluster in regions where Search Nodes are also available. If your existing cluster is in regions where Search Nodes are not available, migrate your cluster to regions where Search Nodes are available. To learn more, see Cloud Provider Regions.
Enable Search Nodes for workload isolation and configure Search Nodes. To learn more, see Add Search Nodes.