Cassandra:对于单节点集群,keyspace replication factor >1 会增加disk space usage吗?
Cassandra: For a single node cluster, will keyspace replication factor >1 increase disk space usage?
我有一个密钥space,复制因子设置为 3,但我只有一个节点。那么磁盘 space 会使用 3 倍的数据大小吗?由于副本尚未分配给任何其他节点,除非新节点加入集群,否则 cassandra 是否会停止创建副本?
这取决于您使用的复制策略。假设您的查询正在运行,您可能已经使用了 SimpleStrategy,如果您尝试写入这样的配置,您的写入应该会失败,因为它需要在向客户端发出确认之前写入 2 个额外的副本节点,在 SimpleStratagy 的情况下是环中接下来的两个顺时针节点。
不,使用的磁盘 space 不会是原来的三倍大小。单个节点将拥有整个令牌范围,并且所有写入都将写入该单个节点一次。
其他两个副本的写入会发生什么情况取决于这些节点之前是否存在于集群中但当前已关闭,或者它们是否从未添加到集群中。如果它们从未被添加,那么 C* 将跳过尝试写入它们。
如果它们已被添加但当前处于关闭状态,并且如果您启用了提示切换并且仍在提示切换内 window,则 C* 将在单个上节点上存储下节点的提示.
我有一个密钥space,复制因子设置为 3,但我只有一个节点。那么磁盘 space 会使用 3 倍的数据大小吗?由于副本尚未分配给任何其他节点,除非新节点加入集群,否则 cassandra 是否会停止创建副本?
这取决于您使用的复制策略。假设您的查询正在运行,您可能已经使用了 SimpleStrategy,如果您尝试写入这样的配置,您的写入应该会失败,因为它需要在向客户端发出确认之前写入 2 个额外的副本节点,在 SimpleStratagy 的情况下是环中接下来的两个顺时针节点。
不,使用的磁盘 space 不会是原来的三倍大小。单个节点将拥有整个令牌范围,并且所有写入都将写入该单个节点一次。
其他两个副本的写入会发生什么情况取决于这些节点之前是否存在于集群中但当前已关闭,或者它们是否从未添加到集群中。如果它们从未被添加,那么 C* 将跳过尝试写入它们。
如果它们已被添加但当前处于关闭状态,并且如果您启用了提示切换并且仍在提示切换内 window,则 C* 将在单个上节点上存储下节点的提示.