Docs 菜单
Docs 主页
/
MongoDB Atlas
/

改进您的架构

在此页面上

  • 模式设计模式
  • 模式建议
  • 模式建议限制
  • 在Performance Advisor中查看模式建议

模式是集群的架构,包括集合索引文档。 在开发过程的早期考虑模式设计。

您无法访问权限无服务器实例的 Schema Advisor

您可以根据常用设计模式对模式进行建模。使用模式构建博客系列讨论了以下常用设计模式。

要了解数组运行良好的情况,请参阅以下设计模式:

  • 使用属性模式处理具有独特属性组合的数据,例如在一部分国家/地区上映每部电影相关的电影数据。

  • 使用存储桶模式处理紧密分组或顺序数据,例如时间跨度数据。

  • 使用多态模式处理同一集合中不同结构的文档,例如多个运动项目的运动员记录。

要了解将工作集中的文档保持在可管理大小的策略,请参阅以下模式:

  • 使用扩展参考模式将经常读取的数据部分从大型文档复制到较小的文档。

  • 使用子集模式减少具有大型数组字段的文档的大小。

  • 使用异常值模式处理其他标准集合中的一些大型文档。

要了解如何将灵活数据模型整合到您的架构中,请参阅 MongoDB.live 2020 中的以下演示文稿:

Atlas 提供了两种方法来检测常见的模式设计问题,并建议遵循 MongoDB 的最佳实践进行修改:

  • Performance Advisor通过对最活跃的集合和查询运行缓慢的集合中的文档进行采样,为集群提供整体模式建议。

  • Atlas用户界面通过对特定集合中的文档进行采样,为该集合提供模式建议。

要了解有关如何应用 Performance Advisor 或数据浏览器中提供的建议的更多信息,请参阅以下页面:

模式改进
建议理由

您对数据执行了太多 $lookup 操作。请利用 MongoDB 的丰富架构模式将相关数据嵌入到单个集合中。

您的文档包含具有多种元素的数组字段,这可能会降低查询性能。

您的集合中包含不必要的索引,这会占用磁盘空间并降低写入性能。

您的文档过大,可能会导致最频繁执行的查询变得缓慢,从而影响系统的性能表现。

您的数据库中有大量的集合,这可能会导致不必要的磁盘空间使用量。

您正在执行的查询依赖于低效的正则表达式匹配。 利用使用 $ 搜索 聚合管道阶段的 Atlas Search查询 。

  • 针对某个集合的模式建议部分是通过对该集合的文档进行随机抽样得出的。由于每次分析模式时都会进行采样,因此您可能会在不同时间看到针对同一集合的不同建议。

  • Performance Advisor会监控慢速查询以识别某些模式问题,即$lookup操作过多以及未利用索引进行区分大小写的正则表达式查询。 如果集群未能始终如一地接收长时间运行的查询,则Performance Advisor可能不会建议该集群的所有潜在改进,也可能不会显示建议改进的所有原因。

  • Performance Advisor根据 top 命令的输出分析 20 个最活跃的集合。如要查看特定集合的建议,请在 Atlas 用户界面中查看该集合。

  • Performance AdvisorAtlas用户界面都不提供针对时间序列的模式建议。

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Clusters(集群)。

    会显示集群页面。

2

如果副本集是分分片集群的一部分,请先单击包含副本集的分分片集群。

3
4

Performance Advisor标签页中,单击Explore Recommendations Improve Schema卡片上的 。

5

默认,结果对应于一个主节点 (primary node in the replica set)主机。但是,您可以从下拉列表中选择其他托管。

后退

搜索性能