企业集群中 mongodb 分片设计
2022-09-02
分片的基本标准
·关于数据:数据量不超过3TB,尽量可能保持在2TB一个分片
·关于索引:常用索引必须容纳进内存
·按照以上标准初步确定分片后,还需要考虑业务压力,随着压力增大,CPU、RAM、磁盘中的任何一项出现瓶颈时,都可以通过添加更多分片来解决。
如何粗略判断需要多少分片
条件 | 分片个数 |
---|---|
B:工作集大小/单服务器内存容量 | 400GB/(256G * 0.6) = 3 |
A:所需存储总量/单服务器可挂载容量 | 8TB/2TB = 4 |
C:并发总数/(单服务器兵法量*0.7) | 30000/(9000*0.7)=6 |
D:额外开销 | ? |
分片数量 = max(a,b,c) + d = ?
额外的考量
考虑分片的分布:
·是否需要跨机房分布分片?
·是否需要容灾?
·高可用的要求如何?
选择片键的正确姿势
影响片键效率的主要因素:
·取值基数(Cardinality);
·取值分布;
·分散写,集中读;
·被尽可能多的业务场景用到;
·避免单调递增或递减的片键;