2013-05-04 49 views
1

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

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

我的问题是,如果两个远程位置写入相同的列系列,复制因子将是{ 'remote1': 3, 'remote2': 3, 'Main': 1 },但然后从remote1的数据将被复制到remote2,反之亦然,我不想。

一个解决方案是有两个不同的Column家族,每个Column家族的复制因子为{ 'remoteX': 3, 'Main': 1 },但最终我的数据分裂并且不易读取。

有没有另一种方法来实现这一目标?

+0

对我而言不清楚...你能澄清一下你的问题吗? – abhi 2013-05-04 16:24:10

回答

2

不,没有办法让卡桑德拉的数据中心拥有一个密钥空间的“中心和辐射”持久性策略。如果您不希望将数据保存到所有数据中心,则必须使用多个密钥空间。一个与remote1和main,另一个与remote2和main。