所以,在前一位管理员离开后,我接管了卡桑德拉星系团,所以我正忙着尽可能多地了解它。当我们使用Datastax的产品时,我正在查看Datastax网站上的所有文档。
尽管如此,在复制因子部分,我有点难以理解为什么不将复制因子设置为我拥有的节点数。我目前有四个节点和一个数据中心,所有节点都位于同一个物理位置。
如果有的话,复制系数小于4会有什么好处呢?
我只是在想,从容错的角度来看,如果每个节点都有自己的数据副本/副本,我不知道为什么我想要的副本比我拥有的节点数量少。是否存在性能权衡或其他原因?我是否完全忽略了这个概念(完全可能)?
发布于 2014-11-13 17:58:19
您可能不想将RF从3增加到4的原因有几个:
你提到了容错。使用RF为4,并在CL 1上读取,您可以吸收多达3台服务器同时关机,您的应用程序仍将启动。从容错的角度来看,这是相当令人印象深刻的,但也不太可能。我猜如果在同一个dc中同时有3个节点下降,那么第4个节点可能也会下降(自然灾害,洪水,谁知道.)。
最后,这一切都取决于您的需求和C*是什么,如果不是可配置的。在Cassandra实现中,RF为3非常常见。
看看朱乔的这张牌
发布于 2014-11-13 18:01:22
您的RF通常少于集群中节点数的原因在post:卡桑德拉列族比节点驱动空间大中得到了解释。这篇文章提供了对卡桑德拉复制这个有趣方面的洞察力。下面是这篇文章的摘要:
问题:。。。每个节点都有2Tb的驱动空间,并且列族被复制到每个节点上,因此每个节点都包含一个完整的副本。。。几年后,这个专栏家族将超过2Tb。。。 答: RF可以小于节点数,如果添加更多节点,则不需要缩放。 例如,如果您今天有3个具有RF 3的节点,那么正如您所说的,每个节点将包含所有数据的副本。但是,如果再添加3个节点,并将RF保持在3,则每个节点将有一半的数据。您可以继续添加更多的节点,以便每个节点包含的数据比例越来越小。。。原则上没有限制你的数据可以有多大。
https://stackoverflow.com/questions/26914753
复制相似问题