1

我目前在一个位置有一个 3 节点集群(我们称之为 Main),我想添加两个新位置(比如说 remote1 和 remote2)。

我试图解决的用例是某种日志记录,我希望 remote1 和 remote2 能够快速可靠地记录一些数据。因此,我在每个远程位置选择了 3 个新节点,我将在这些节点上持续使用LOCAL_QUORUM,然后将数据复制到可以被另一个应用程序读取的主要位置。

我的问题是,如果两个远程位置都写入同一个列族,则复制因子将是{ 'remote1': 3, 'remote2': 3, 'Main': 1 },但是来自 remote1 的数据将被复制到 remote2,反之亦然,这是我不想要的。

一种解决方案是拥有两个不同的列族,每个列族的复制因子为 ,{ 'remoteX': 3, 'Main': 1 }但最终我的数据被拆分并且不太容易阅读。

还有另一种方法可以实现这一目标吗?

4

1 回答 1

2

不,没有一种方法可以在 cassandra 中使用具有一个键空间的“中心辐射”持久性策略来建立数据中心。如果您不希望您的数据持久保存到所有数据中心,则必须使用多个键空间。一个带有 remote1 和 main,另一个带有 remote2 和 main。

于 2013-05-05T01:12:13.410 回答