Mongodb系列~研发规范

2024-05-28  本文已影响0人  开心的蛋黄派

一、库(数据库)

  1. 命名规则:

    • 使用数字、字母和下划线,长度最多64个字符。
    • 推荐使用业务标识进行命名。
  2. 避免冲突:

    • 不能和系统库名称重合,如admin、local、test、config。
  3. 大小写敏感性:

    • MongoDB是大小写敏感的,推荐全部使用小写字母。

二、集合(表)

  1. 命名规则:

    • 使用数字、字母和下划线,长度最多64个字符。
    • 推荐使用业务标识进行命名。
  2. 集合名称限制:

    • 集合名称禁止以system.开头。
  3. 大小写敏感性:

    • 同上,推荐全部使用小写字母。
  4. 禁止使用_id:

    • 避免向_id字段中写入自定义内容,它是MongoDB用于唯一标识文档的字段。
  5. 超长文本处理:

    • 对于超长文本,建议采用压缩存储,以防止查询时导致网卡阻塞。
  6. 数据量增长策略:

    • 针对表数据量增长的情况,应提前考虑采取分片措施。
  7. 写关注设置(Write Concern):

    • 正确设置写关注级别,以确保数据的持久性和一致性。
      • 要求进行写入确认。
      • 可以要求数据已写入到副本集的主服务器和一个备用服务器。
      • 可以要求数据已写入到副本集中的大多数服务器中(majority)。

三、索引

  1. 联合索引原则:

    • 索引遵循联合索引最左匹配原则,建立联合索引时需注意字段的顺序。
  2. 索引命名规范:

    • 索引建立时应统一以idx_开头命名。
  3. 索引失效场景:

    • 使用正则表达式及非操作符,如nin,not等,可能导致索引失效。
    • 使用算术运算符,如$mod等,也可能导致索引失效。
  4. 数组元素索引:

    • 尽量不为数组元素创建索引,因为MongoDB会为数组的每个元素都创建索引,导致整体索引体积迅速增大。

四、查询场景

  1. 利用索引:

    • 查询语句应尽量利用索引,以避免全表扫描,提高查询效率。
  2. 数组内元素查询:

    • 对于数组内元素的查询,应使用$elemMatch操作符。
  3. MapReduce执行位置:

    • 避免在MongoDB的主节点上执行MapReduce操作,以免影响性能。

经过格式化和校验,以上规范内容清晰、条理分明,并且符合MongoDB的使用习惯和最佳实践。这些规范有助于保持数据库的整洁、高效和可维护性。

上一篇 下一篇

猜你喜欢

热点阅读