mongodb使用规范

本规范旨在帮助开发人员逐步建立合理使用数据库的意识,对数据库相关的资源申请、业务规范使用等提供规范性的指导,从而为公司业务系统稳定、健康地运行提供保障。

以下所有规范会按照【强制】【建议】两个级别进行标注,对于【强制】级别的设计需强制修改调整。


[TOC]

基础规范

  • 【强制】管理员账号 rwuser,密码长度16位,包含数字、大小写、特殊符号;
  • 【建议】每个mongodb实例单独配置一个安全组

申请规范

  • 【强制】禁止开通公网地址,禁止部署在公网可访问的服务器上
  • 【强制】新实例强制端口 3717
  • 【强制】新实例强制版本 Mongodb 6.0
  • 【强制】新实例强制存储引擎 WiredTiger
  • 【建议】短期测试使用可以选择按量付费模式
版本 适用场景 备注
单节点 数据量一般、QPS不高、开发测试、单节点 备份过程会缩表、数据不可写
副本集 数据量一般、QPS不高 3节点(提供Primary、Secondary节点,还有1个隐藏节点)
分片集群 数据量大、QPS高 提供mongos、shard、config三类节点,
可自主选择mongos节点和shard节点组建不同的实例

使用规范

  • 【强制】禁止在应用服务器上通过命令直连生产Mongodb服务
  • 【建议】创建索引要在后台创建,避免锁表,范例如下:
db.t1.createIndex({idcard:1},{background:1})
  • 【建议】时效性数据推荐使用TTL索引(Time to Live),对一个date类型的单列配置过期属性(不支持非date列或复合索引)可实现对文档的自动过期删除,范例如下:
db.events.createIndex({"insert_time":1},{ expireAfterSeconds: 60*60*24*7 })
Copyright © www.sqlfans.cn 2023 All Right Reserved更新时间: 2024-09-09 11:13:15

results matching ""

    No results matching ""