使用传统的 RDBMS,我们在大多数情况下习惯于 RAID10,但如果使用 cassandra RF=2,那么我们正好有一个副本作为备份,那么在这种情况下为什么不使用或为什么使用 RAID10。
我认为这将减少 cassandra 的复制开销。
此外,在 RAID10 中,如果硬盘驱动器发生故障,则整个节点将继续工作,但如果使用复制,那么一个硬盘驱动器故障会导致整个节点停机?
虽然我认为使用 RAID10 每次写入都会有开销,但是当 SSTABLE 已满时会完成刷新,因此不会一直感觉到。
我认为 RAID 10 是浪费钱。两个原因:
1) BigTable(Cassandra 或 HBase)的重要属性之一是能够快速、廉价地扩展集群或通过添加新服务器来增加冗余。根据最近的价格,RAID 10(条带化和跨接)非常昂贵,几乎与添加另一台具有 JBOD 存储的整个服务器的价格相同。
2) Cassandra 复制可以保护您免受机器故障的影响,而不仅仅是磁盘故障。如果您的 CPU 死机,RAID 10 将无法保护您,但 Cassandra 复制可以。它还将保护您免受磁盘故障的影响,并允许多个客户端从多个节点读取,从而防止热点。