在阅读mongodb的生产票据时,我发现不推荐RAID0:
大多数MongoDB部署应该使用RAID-10支持的磁盘。使用MongoDB部署避免RAID-0。虽然RAID-0提供了良好的写入性能,但它也提供了有限的可用性,并可能导致读取操作的性能下降,特别是在使用Amazon的EBS卷时。
问题1:据我理解,在分布式系统中,故障应该被看作是一种普通的状态。那么,为什么我会关心一个节点的失败呢?(我的意思是在一套复制品中)
问题2: RAID0不应该为read和write提供良好的性能吗?为什么是lead to reduced performance on read operations,有什么特别的原因?
发布于 2015-03-07 21:07:18
问题1:这里的回答是“是”和“否”。在一个复制集中,如果您的主服务器失败了,那么您的第二个程序将负责。如果当您的磁盘崩溃时,所有CRUD语句都从PRI复制到SEC,那么您就没事了。但是,如果有些语句不是(复制滞后的)并且您的磁盘崩溃,您将丢失这些语句。如果您能够处理该损失RAID 0将为您工作。另外,在一个3成员的副本集上,当节点上有一个磁盘故障时,您必须尽快替换它,否则您将处于不安全的状态。
问题2:我对此没有明确的答案。我认为您应该研究RAID0和RAID10之间的读并发级别。另外,也不要相信对于中小型工作负载会有明显的差异。
https://dba.stackexchange.com/questions/94570
复制相似问题