我目前在一个位置有一个3节点集群(我们称之为main),我想添加两个新位置(比如remote1和remote2)。
我试图解决的用例是某种类型的日志记录,我希望remote1和remote2能够快速可靠地记录一些数据。所以我在每个远程位置选择了3个新节点,我将使用 LOCAL_QUORUM
,然后数据将被复制到主位置,在那里它可以被另一个应用程序读取。
我的问题是,如果两个远程位置都写在同一列族中,复制因子将是 { 'remote1': 3, 'remote2': 3, 'Main': 1 }
但是,来自remote1的数据将被复制到remote2,反之亦然,这是我不想要的。
一种解决方案是有两个不同的列族,每个列族的复制因子为 { 'remoteX': 3, 'Main': 1 }
但最终我的数据被分割了,不太容易阅读。
还有别的办法吗?
1条答案
按热度按时间uqxowvwt1#
不,在cassandra没有一种方法可以让数据中心具有一个键空间的“中心辐射”持久性策略。如果不希望数据持久化到所有数据中心,则必须使用多个键空间。一个带有remote1和main,另一个带有remote2和main。