0

我想启动一个 cassandra 集群(例如 3 个节点),而我的应用程序只有一个列族。

阅读文档后,我了解了 cassandra 如何跨多个节点复制一个列族。

例如。每个节点都有 2Tb 的驱动器空间,列族在每个节点上复制,因此每个节点都包含它的完整副本。

如果几年后该列族将超过 2Tb 并且我无法增加驱动器空间会怎样?

如果我要添加更多 10 个节点,我希望将该列族拆分为多个部分并存储在节点上的不同驱动器上,这样它就可以增加到无限大。如果我理解正确,列族仅限于集群中最小的驱动器空间?

4

1 回答 1

2

您描述的场景仅适用于将所有数据复制到所有节点的情况。您可以通过将复制因子 (RF) 设置为节点数来进行配置。

但是,RF 可以小于节点数,如果添加更多节点,则不需要扩展。

例如,如果您今天有 3 个 RF 为 3 的节点,如您所说,每个节点将包含所有数据的副本。但是如果再添加 3 个节点并将 RF 保持在 3,每个节点将拥有一半的数据。您可以继续添加更多节点,以便每个节点包含的数据比例越来越小。

因此,原则上您的数据可以有多大是没有限制的。

于 2013-04-09T09:05:39.717 回答