MongoDB硬件及开发标准规范

大数据平台部

运维研发组

 

 

 

 

 

 

说明:

 

无特殊情况,均以此文档为参考文件搭建,如有特殊情况,需与运维研发组和开发组商议后进行更改。

MongoDB

标     题硬件标准及研发规范

 

目  录

第1章
MongoDB配置标准规范.................................................................................. 1

1.1           MongoDB版本选择................................................................................... 1

1.1.1 稳定版本................................................................................................. 1

1.2           研发数据集群规划...................................................................................... 1

1.2.1 标准集群(repl set复制集)................................................................ 1

部署过程见《MongoDB高可用集群C生产部署文档V1.0》................... 1

1.2.2 标准集群(repl set复制集+sharding分片)....................................... 1

部署过程见《MongoDB高可用集群A生产部署文档V1.1》.................. 2

1.2.3 超大规模集群(repl set复制集+sharding分片)............................... 2

部署过程见《MongoDB高可用集群B生产部署文档V1.0》................... 2

1.3           大数据海量数据集群规划.......................................................................... 2

1.2.1 海量数据标准集群(repl set复制集)................................................ 2

部署过程见《MongoDB高可用集群C生产部署文档V1.0》................... 2

1.2.2 海量数据标准集群(repl set复制集+sharding分片)....................... 2

部署过程见《MongoDB高可用集群A生产部署文档V1.1》.................. 2

1.2.3 海量数据超大规模集群(repl set复制集+sharding分片)............... 3

部署过程见《MongoDB高可用集群B生产部署文档V1.0》................... 3

1.4           主机配置标准化参数.................................................................................. 3

1.5           基础卷分配原则.......................................................................................... 6

1.6           卷监控阈值要求.......................................................................................... 7

第2章 MongoDB研发规范.......................................................................................... 8

2.1 库设计................................................................................................................ 8

2.1.1 mongodb库设计..................................................................................... 8

2.2 集合设计............................................................................................................ 8

2.2.1 MongoDB集合设计............................................................................... 8

2.3 文档设计............................................................................................................ 9

2.3.1 MongoDB文档设计............................................................................... 9

2.4 索引设计............................................................................................................ 9

2.4.1 MongoDB索引设计............................................................................... 9

2.4 索引设计.......................................................................................................... 10

第1章 MongoDB配置标准规范

1.1 
MongoDB版本选择

1.1.1 稳定版本

默认新装数据库使用MongoDB 3.X 社区版(具体详情请查看如下表格),已经使用且数据量大和已有无法改造升级的系统除外。


版本


建议


3.2.10


见标准安装包文件夹内


3.4.X


待测试调研

1.2 
集群规划

1.2.1 标准集群(repl set复制集)

部署过程见《MongoDB高可用集群A生产部署文档V1.0》


集群节点: 6节点(1 primary +4 secondry + 1 仲裁)


主机配置:
Core64 , 256G 内存  (按需申请资源见第三章计算标准)


硬盘配置
:优先SSD/HDD  2T  RAID-10


容量和扩容规划:单节点内存使用率控制在70%,集群LUN 总量达到2T以上时规划新的大库集群或者扩容相应硬件

1.2.2 标准集群(repl set复制集+sharding分片)

部署过程见《MongoDB高可用集群B生产部署文档V1.1》


集群节点: 3节点


主机配置:
Core64 , 128G 内存


硬盘配置
:优先SSD/HDD  5T  RAID-10  (使用1TB MLC SSD 组装)


容量和扩容规划:单节点内存使用率控制在70%,集群LUN 总量达到5T以上时规划新的大库集群或者相应硬件

1.2.3 超大规模集群(repl set复制集+sharding分片)

部署过程见《MongoDB高可用集群C生产部署文档V1.0》


集群节点: 7节点


主机配置:
Core64, 128G 内存


硬盘配置
:优先SSD/HDD   10T  RAID-10


容量和扩容规划:单节点内存使用率控制在70%,集群LUN 总量达到10T以上时规划新的大库集群或者相应硬件

1.3 
基础卷分配原则


卷类型


卷名


初始大小G


存储类型


用途


其他说明


软件卷


/app/mongodb


30


本地


MongoDB软件


本机所有数据库共享


数据卷


/data/mongodb/*/data

其中*代表每个实例的文件名


根据要求


本地


数据库数据


共享给集群内所有主机


日志卷


/data/mongodb/*/log

其中*代表每个实例的文件名


根据要求


本地


数据库日志数据


共享给集群内所有主机


备份卷


/mongodb_backup/


500


本地盘


接DP备份


本机所有数据库共享当前仅在容灾机房有要求

1.4 
卷监控阈值要求


卷类型


卷名


Warning


Critical


软件卷


/app/mongodb


80%


85%


数据卷


/data/mongodb/*/data


80%


85%


日志卷


/data/mongodb/*/log


80%


85%


备份卷


/mongodb_backup/


80%


85%

第2章 MongoDB研发规范

 

2.1 库设计

2.1.1 mongodb库设计


mongodb数据库命名规范:db_xxxx

禁止使用任何 " _ "(下划线)外的特殊字符


库名全部小写,禁止使用任何_以外的特殊字符,禁止使用数字打头的库名,如:123_abc


库以文件夹的形式存在,使用特殊字符或其它不规范的命名方式会导致命名混乱

数据库名最多为64字符


在创建新的库前应尽量评估该库的体积、QPS等,提前与DBA讨论是应该新建一个库还是专门为该库创建一个新的集群


不能为空字符串(” “)


不能以$开头


不能包含.(点号)和空字符串


数据库名区分大小写(建议数据库名全部使用小写)


数据库名最长为64个字节


不要与系统保留的数据库名相同,这写数据库包括:admin,local,config等

2.2 集合设计

2.2.1 MongoDB集合设计


mongodb集合命名规范:t_xxxx


集合名全部小写,禁止使用任何_以外的特殊字符,禁止使用数字打头的集合名,如:123_abc,禁止system打头


system是系统集合前缀

集合名称最多为64字符

为了避免库级锁带来的问题,应尽量对写入较大的集合使用“单库单集合”的结构,所以对于新增业务应尽量创建新库,而不是在现有库中创建新集合


一个库中写入较大的集合会影响其它集合的读写性能

如果评估单集合数据量较大,可以将一个大表拆分为多个小表,然后将每一个小表存放在独立的库中,由于MongoDB是库级锁,因此这样做可以大幅减少并发写入带来的锁争用问题


集合名不能为空字符串(” “)


不能包含\0或空字符,这个字符表示键的结尾


集合名不能以”system.”开头,此前缀是系统本身保留的


集合名不能包含$字符(注:可包含 . 点号)

2.3 文档设计

2.3.1 MongoDB文档设计


文档中的key禁止使用任何_以外的特殊字符


尽量将同样类型的文档存放在一个集合中,将不同类型的文档分散在不同的集合中


相同类型的文档能够大幅度提高索引利用率,如果文档混杂存放则可能会出现查询经常需要全表扫描的情况


禁止使用_id,如:向_id中写入自定义内容


尽量存放统一小写后的数据


尽可能的缩短key的长度(注意是尽可能!会涉及到性能问题)

2.4 索引设计

2.4.1 MongoDB索引设计


优先使用覆盖索引


MongoDB 的组合索引使用策略与 MySQL 一致,遵循“最左原则”


索引名称长度不要超过128字符


应尽量综合评估查询场景,通过评估尽可能的将单列索引并入组合索引以降低所以数量,结合1,2点


在创建组合索引的时候,应评估索引中包含的字段,尽量将数据基数大的字段放在组合索引的前面


在数据量较大的时候,MongoDB 索引的创建是一个缓慢的过程,所以应当在上前线或数据量变得很大前尽量评估,按需创建会用到的索引


MongoDB 的索引创建是库级锁,在索引创建时该集合所在库不可读写,所以如需添加索引,请联系 DBA


特别注意基于地理位置的索引建立时会带来的问题。

2.4 索引设计

第3章 参考Mongodb硬件资源计算标准

3.1 Cpu资源计算标准

3.1.1 副本集

标准:64core---------2TB    snappy压缩算法 CPU一个线程会跑满一个核心。假设写入一个线程,读取一个线程,那这两个线程在接近满负荷跑时两个CPU核心会用完。

----------------------------------------------------------------------------------

primary节点:例

cpu core = 2(系统预留)+12000(读写)/1000 core,按实际情况配置cpu资源

-----------------------------------------------------------------------------------

3.1.2 分片副本集

------------------------------------------------------------------------------------

待计算评估。

-------------------------------------------------------------------------------------

3.2 内存资源计算标准

数据量:内存≈3:1         (最低标准5:1)

Eg:700G数据量:

在副本集模式下最低应该使用128G内存。遵循最低标准或接近原则。

--------------------------------------

700/5=140≈128

---------------------------------------

在分片副本集(3分片下)每个实例机器应该使用64GB内存

------------------------------------------------------------

700/5=140G=<64G*3

------------------------------------------------------------

3.3 硬盘资源计算标准

3.3.1 硬盘类型

在资源允许情况下,mongodb优先以SSD为主。资源不允许情况下,如有以下情况,则必须用SSD。

---------------------------------------------------------------------------------------------

读每秒读取超过数据量100M
,读队列阻塞上升,则必须用SSD。

写每秒读取超过数据量100M
,写队列阻塞上升,则必须用SSD。

---------------------------------------------------------------------------------------------

磁盘规格:

以700G数据量为例:使用磁盘大小≈基数+每日增长数据量*90天

3.3.2 硬盘大小

根据实际数据量增长率,默认至少应该保留数据量3个月增长空间。

3.4 网络网卡资源计算标准

如果硬盘是SSD,那么可以在超高情况200M/s写入或者读取上在主节点和第二备节点提供万兆网卡。

其他情况用千兆网卡即可。

原文地址:https://www.cnblogs.com/hit-zb/p/8602520.html

时间: 2024-10-13 08:49:53

MongoDB硬件及开发标准规范的相关文章

11--法律法规、标准规范和职业道德

一.法律法规和标准规范1.中国标准划分为哪四个层次?要求最低的是哪个? <中华人民共和国标准化法>将标准划分为4个层次:即国家标准.行业标准.地方标准和企业标准.其中国家标准要求最低. 2.国家标准的制订程序包括哪些? 国家标准的制定有一套正常程序,每一个过程都要按部就班地完成,这个过程分为前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止9个阶段. 3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每5年复审一次,我国国家标准的有效期一般为5年. 4.请说

信管师培训之第十一节课作业(法律法规+标准规范+职业道德)

一.法律法规和标准规范1.中国标准划分为哪四个层次?要求最低的是哪个? <中华人民共和国标准化法>将标准划分为4个层次:即国家标准.行业标准.地方标准和企业标准.其中国家标准要求最低. 2.国家标准的制订程序包括哪些? 国家标准的制定有一套正常程序,每一个过程都要按部就班地完成,这个过程分为前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止9个阶段. 3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每5年复审一次,我国国家标准的有效期一般为5年. 4.请说

2016年4月11日作业(法律法规、标准规范、职业道德)

一.法律法规和标准规范1.中国标准划分为哪四个层次?要求最低的是哪个?P498 答:<中华人民共和国标准化法>将标准划分为4个层次,既国家标准.行业标准.地方标准和企业标准.国家标准的要求最低.2.国家标准的制订程序包括哪些? 答:前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止9个阶段.3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? 答:ISO标准每5年复审一次:国家标准实施5年内要进行复审,既国家标准有效期一般为5年.4.请说明如下是什么标准?GB.GB/T.

法律法规和标准规范

1.中国标准划分为哪四个层次?要求最低的是哪个?    1) 国家标准    2) 行业标准    3) 地方标准    4) 企业标准    要求最低标准是国家标准 2.国家标准的制订程序包括哪些?    1)前期准备    2)立项    3)起草    4)征求意见    5)审查    6)批准    7)出版    8)复审    9)废止 3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次?    1)ISO标准每5年复审一次,平均标龄为4.92年    2)国家标准有效

第十一课_法律法规、标准规范、职业道德

一.法律法规和标准规范 1.中国标准划分为哪四个层次?要求最低的是哪个? 1.国家标准: 2.行业标准: 3.地方标准: 4.企业标准: 要求最低的是国家标准: 2.国家标准的制订程序包括哪些? 九个阶段: 1.前期准备: 2.立项: 3.起草: 4.征求意见: 5.审查: 6.批准: 7.出版: 8.复审: 9.废止: 3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标注每5年复审一次: 国家标准有效期为5年: 4.请说明如下是什么标准?GB.GB/T.GB/Z.GJB

2016年4月11日作业 法律法规和标准规范

软考中高项学员:2016年4月11日作业 一.法律法规和标准规范 1.中国标准划分为哪四个层次?要求最低的是哪个? 国家标准.行业标准.地方标准.企业标准  要求最低的是国家标准 2.国家标准的制订程序包括哪些? 前期准备 .立项.起草.征求意见.审查.批准.出版.复审和废止9个阶段 3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每5年复审一次,国家标准管理办法中规定国家标准实施5年内要进行复审,即国家标准有效期一般为5年 4.请说明如下是什么标准?GB.GB/T.

第十一节 &nbsp; 法律法规和标准规范

第二十一章  法律法规和标准规范 1.国家中国标准划分为哪四个层次?要求最低的是哪个? 国家中国标准划分:国家标准.行业标准.地方标准.企业标注.要求最低的是国家标准. 2.标准的制订程序包括哪些? 标准的制订程序包括:前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止9个阶段. 3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每五年复审一次,我国国家标准的有效期5年复审一次. 4.请说明如下是什么标准?GB.GB/T.GB/Z.GJB? GB:强制性国家标

软考中高项学员:2016年4月11日作业 法律法规和标准规范

软考中高项学员:2016年4月11日作业  法律法规和标准规范 1.  中国标准划分为哪四个层次?要求最低的是哪个? 国家标准.行业标准.地方标准.企业标准.最低的是国家标准. 2.  国家标准的制订程序包括哪些? 国标制订程序包括:前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止9个阶段. 3.  ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每5年复审一次,国家标准的有效期一般为5年. 4.  请说明如下是什么标准?GB.GB/T.GB/Z.GJB? G

第十一讲:软考中高项11_法律法规、标准规范、职业道德

一.法律法规和标准规范1.中国标准划分为哪四个层次?要求最低的是哪个? 国家标准.行业标准.地方标准.企业标准 要求最低的是企业标准 2.国家标准的制订程序包括哪些? 前期准备.立项.起草.征求意见.审查.批准.出版.复审.废止. 3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每五年夏审一次,国家标准一般有效期五年. 4.请说明如下是什么标准?GB.GB/T.GB/Z.GJB? GB:强制性国家标准 GB/T:推荐性国家标准 GB/Z:国家标准指导性技术文件 GJB