美文网首页
Mongodb系列~研发规范

Mongodb系列~研发规范

作者: 开心的蛋黄派 | 来源:发表于2024-05-28 10:23 被阅读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的使用习惯和最佳实践。这些规范有助于保持数据库的整洁、高效和可维护性。

相关文章

  • 【JAVA】研发规范

    服务端设置 高并发服务器建议调小TCP协议的time_wait超时时间。 说明:操作系统默认240秒后,才会关闭处...

  • 研发流程规范

    1.需求分析 1.重视需求评审,多想、多问,做到:a.研发完全理解产品意图,并在大脑中转化为系统原型,b.针对各种...

  • MongoDb最佳实践系列

    MongoDb开发系列:认识不一样的MongoDb MongoDb的历史,应用领域,行业热衷特点 MongoDB开...

  • Android实用开发规范

    本文中选择将开发规范作为这个系列的第一篇文章,就是个人感觉产品研发过程中,开发规范真的很重要,很重要,非常重要(重...

  • mongodb使用规范

    库(database) 【强制】数据库名最多为64字符,库名全部小写,禁止使用任何_以外的特殊字符。 【强制】禁止...

  • 规范在研发工作中的价值

    在日常的研发工作中,经常会遇到一些规范。编码规范、代码提交日志规范、提测流程规范,版本号规范等等。 这些规范离我们...

  • 软件研发安全规范

    1. 安全编码原则## 保持简单,程序只实现指定的功能。 坚持最小权限,把可能造成的危害降到最低。 默认不信任,采...

  • ☆软件研发代码规范

    1. 分支开发流程 GIT分支开发规范,具体请参考:http://www.jianshu.com/p/cbd8cf...

  • App研发流程规范

    移动APP项目研发流程规范: 其中,产品需求文档 > 前端开发两个版本 、UI设计 > 前端开发一半个版本、 后台...

  • ☆项目研发流程规范

网友评论

      本文标题:Mongodb系列~研发规范

      本文链接:https://www.haomeiwen.com/subject/svihqjtx.html