改进您的架构
模式设计模式
您可以根据常用设计模式对模式进行建模。使用模式构建博客系列讨论了以下常用设计模式。
要了解数组运行良好的情况,请参阅以下设计模式:
使用属性模式处理具有独特属性组合的数据,例如在一部分国家/地区上映每部电影相关的电影数据。
使用存储桶模式处理紧密分组或顺序数据,例如时间跨度数据。
使用多态模式处理同一集合中不同结构的文档,例如多个运动项目的运动员记录。
要了解将工作集中的文档保持在可管理大小的策略,请参阅以下模式:
要了解如何将灵活数据模型整合到您的架构中,请参阅 MongoDB.live 2020 中的以下演示文稿:
通过 MongoDB 数据建模了解 MongoDB 中的实体关系及其实现示例。
通过高级模式设计模式了解您可以整合到模式的高级数据建模设计模式。
模式建议
Ops Manager 提供两种方法来检测常见模式设计问题,并建议遵循 MongoDB 最佳实践的修改:
Performance Advisor通过对最活跃的集合和查询运行缓慢的集合中的文档进行采样,为集群提供整体模式建议。
数据浏览器通过对特定collection中的文档进行采样,为该collection提供模式建议。
要了解有关如何应用 Performance Advisor 或数据浏览器中提供的建议的更多信息,请参阅以下页面:
模式建议限制
针对某个集合的模式建议部分是通过对该集合的文档进行随机抽样得出的。由于每次分析模式时都会进行采样,因此您可能会在不同时间看到针对同一集合的不同建议。
Performance Advisor使用慢查询日志作为输入来识别某些模式问题,即
$lookup
操作过多以及未利用索引进行区分大小写的正则表达式查询。 如果集合中没有任何持续时间超过100毫秒的操作,Performance Advisor可能不会建议该集合的所有潜在改进,也可能不会显示建议改进的所有原因。Performance Advisor根据
top
命令的输出分析最活跃的 20 集合。 要查看针对特定集合的建议,请在数据浏览器中查看该集合。