你们的mongoDB sharding+replication集群,是否做了Raid?我们的集群6块ssd。每一个ssd启动一个mongod,然后与另外两台服务器上的相同磁盘做成replication。个人对mongoDB理解就是数据高可靠性是通过mongo自身的replication 解决。读写速度是通过sharding解决。如果磁盘做raid,对于mongo是一种浪费。
1 回答
慕桂英3389331
TA贡献2036条经验 获得超8个赞
简单的答案:官方建议是RAID10。
For optimal performance in terms of the storage layer, use disks
backed by RAID-10. RAID-5 and RAID-6 do not typically provide
sufficient performance to support a MongoDB deployment. Avoid RAID-0
with MongoDB deployments. While RAID-0 provides good write
performance, it also provides limited availability and can lead to
reduced performance on read operations, particularly when using
Amazon’s EBS volumes.
如何理解?虽然跟实际压力情况有关,但是对于数据库这样的软件来讲,瓶颈通常都会首先出现在I/O上面。取决于重读或是重写,RAID0(读速度有限)或RAID1(写速度有限)都有其自身的局限性,那么RAID10就是最好的选择。
Sharding和Replication虽然也提供类似于RAID0和RAID1的功能,但毕竟是上层实现,相对于RAID0/1这样底层实现而言性能还是要差一些,毕竟会有网络等额外开销。后者的弱点则是无法通过增加服务器达到水平扩展。
在可能的情况下,首先通过RAID10实现垂直扩展,无论对于效率或者可靠性以及维护的复杂程度,都是最佳选择。毕竟一台机器就可以搞定的事情,为什么要分到几台机器上?只有当一台服务器因为成本等原因无法满足时,才有必要考虑水平扩展。
- 1 回答
- 0 关注
- 589 浏览
添加回答
举报
0/150
提交
取消