查看部署选项
您可以使用不同的部署类型、云提供商和集群层来构建 Atlas 集群,以满足预生产或生产环境的需求。使用这些建议来选择部署类型、云提供商和区域以及用于执行向量搜索的集群和搜索层。
environment | 部署类型 | 集群层 | 云提供商区域 | 节点架构 |
---|---|---|---|---|
测试查询 | 共享或专用集群 | M0 、 M2 、 M5 或更高层 | 所有 | MongoDB 和 Search 进程在同一节点上运行 |
应用程序原型设计 | 专用集群 | M10 、 M20 或更高层 | 所有 | MongoDB 和 Search 进程在同一节点上运行 |
生产 | 具有独立搜索节点的专用集群 | M10 或更高集群层以及S30 或更高搜索层 | 某些地区使用AWS ,所有地区使用 Google Cloud | MongoDB 和 Search 进程在不同节点上运行 |
要了解有关这些部署模型的更多信息,请查看以下部分:
测试和原型环境
为了测试向量搜索查询和构建应用程序原型,我们建议对集群进行以下配置。
部署类型
为了测试 Atlas Vector Search 查询,您可以部署共享或专用集群。
集群层
共享集群包括M0
、 M2
和M5
层。这些低成本集群类型可用于测试 Atlas Vector Search 查询。但是,您可能会在共享集群上遇到资源争用和查询延迟。如果您使用共享集群开始项目,我们建议您在应用程序准备投入生产时升级到更高层级。
专用集群包括M10
和更高层级。 M10
和M20
层适合对应用程序进行原型设计。您可以升级到更高层级来处理大型数据集,也可以在应用程序准备投入生产时部署专用搜索节点以实现工作负载隔离。
云提供商和地区
您选择的云提供商和地区会影响可用于集群层的配置选项以及运行集群的成本。
所有集群层在所有支持的云提供商地区均可用。
节点架构
在此部署模型中,搜索mongot
进程与 Atlas 集群中的每个节点上的mongod
一起运行。 mongod
进程将查询路由到同一节点上的mongot
,并且它们共享相同的资源。要了解有关在同一节点上运行的mongod
和mongot
进程行为的更多信息,请参阅Atlas Search 架构。
限制
您可能会遇到数据库mongod
和搜索mongot
进程之间的资源争用。这可能会对索引性能和查询延迟产生负面影响。我们建议仅将这种部署模型用于测试和原型设计环境。对于生产就绪的应用程序和相关搜索工作负载,我们建议迁移到专用搜索节点。
生产环境
对于生产就绪的应用程序,我们建议使用以下集群配置。
部署类型
对于生产就绪的应用程序,您需要专用的集群。
集群层
专用集群包括M10
和更高层级。 M10
和M20
层适用于开发和生产环境。但是,较高的层级可以处理大型数据集和生产工作负载。我们建议您还为搜索工作负载部署专用搜索节点。这样,您就可以独立、适当地扩展搜索部署。
云提供商和地区
您选择的云提供商和区域会影响可用于集群的配置选项和搜索层以及运行集群的成本。
所有集群层在所有支持的云提供商地区均可用。但是,搜索节点仅适用于部分 云提供商地区 中的 AWS 和 Google Cloud。因此,您 必须 选择搜索节点可用于您的部署的云提供商和区域。
节点架构
在此部署模型中, mongot
进程在搜索节点上运行,这些节点与运行mongod
进程的集群节点是分开的。要了解有关在不同节点上运行的mongod
和mongot
进程行为的更多信息,请参阅搜索节点架构。
收益分析
此部署模型具有以下优点:
高效利用资源,同时确保资源对搜索工作负载具有高可用性。
搜索部署的大小和扩展独立于数据库部署。
同时自动处理 Atlas Vector Search 查询,从而缩短响应时间,尤其是在处理大型数据集时。要了解更多信息,请参阅跨分段并行查询执行。
调整集群大小和扩展
Atlas Vector Search 将整个索引保存在内存中,因此您需要确保有足够的内存用于 Atlas Vector Search 索引和JVM 。我们建议节点的 RAM 至少比 Atlas Vector Search 索引的总大小大10 %。每个索引都是被索引向量和其他元数据的组合。索引大小主要由要创建索引的向量的大小决定。虽然索引大小可能会因元数据量而异,但额外的元数据所需的内存通常很小。
考虑单个向量的以下要求:
嵌入模型 | 向量维度 | 空间要求 |
---|---|---|
OpenAI text-embedding-ada-002 | 1536 | 6 kb |
Google text-embedding-gecko | 768 | 3 kb |
所需空间与要建立索引的向量数量和向量维度呈线性增长。您还可以使用 Search Index Size指标来确定搜索节点上所需的空间和内存量。
部署专用搜索节点时,可以选择不同的搜索层级。每个搜索层都有默认的 RAM 容量、存储容量和 CPU。这样,您就可以独立于数据库部署来调整集群的大小和扩展。要单独扩展搜索部署,您可以随时对集群配置进行以下更改:
调整集群上搜索节点的数量。
通过更改搜索层来调整节点的 CPU、RAM 和存储。
注意
要了解有关搜索节点和搜索层成本的更多信息,请展开View all plan features并单击MongoDB 定价页面中的Atlas Vector Search 。
迁移到专用搜索节点
专用搜索节点允许您独立于集群来调整和扩展搜索部署的大小。它还消除了在同一节点上运行数据库和搜索进程的集群上可能遇到的任何资源争用。
要迁移到专用搜索节点,请对部署进行以下更改:
如果您的部署当前使用的是共享层,请将集群升级到更高的层。仅
M10
及更高集群层支持专用搜索节点。要了解有关迁移到其他集群层的更多信息,请参阅修改Cluster Tier 。如果您正在运行多区域集群,或者您的集群当前部署在Azure上,请将集群迁移到AWS或 Google Cloud。专用搜索节点仅适用于单区域AWS和 Google Cloud 集群。要了解更多信息,请参阅修改Cloud Provider & Region 。
专用搜索节点仅在部分AWS区域和所有支持的 Google Cloud 区域中可用。确保将集群部署在搜索节点也可用的区域。如果您的现有集群位于搜索节点不可用的地区,请将集群迁移到搜索节点可用的地区。要了解更多信息,请参阅云提供商区域。
启用Search Nodes for workload isolation并配置搜索节点。要了解更多信息,请参阅添加搜索节点。