我有一个Cassandra数据库和一个带有一些表的键空间,我不想重复。 我知道,cassandra的一个关键特性是复制,但我不想复制。
我有3个DataCenters:dc1,dc2,dc3
目前我正在每个DC上创建像这样的Keyspace:
CREATE KEYSPACE IF NOT EXISTS myKeyspace
WITH replication={'class':'NetworkTopologyStrategy', 'dc1': '1'};
据我所知,这意味着dc1将被复制到其他三个DC中的一个? 如果我不想复制,这应该怎么样?
答案 0 :(得分:3)
CREATE KEYSPACE IF NOT EXISTS myKeyspace WITH replication={'class':'NetworkTopologyStrategy', 'dc1': '1'};
这意味着你在dc1上有复制因子1。那么你现在拥有的是你想要的。复制因子为1意味着只有一个节点将保存数据,并且不会在其他任何位置复制。该数字不是针对多少份副本,而是针对保存数据的节点数量。
如果你想将它复制到其他dcs,它将是这样的:
CREATE KEYSPACE IF NOT EXISTS myKeyspace WITH replication={'class':'NetworkTopologyStrategy', 'dc1': '1', 'dc2': '1', 'dc3': '3'};
意思是dc1将在1个节点上拥有数据,dc2将在1个节点上拥有数据,而dc1将拥有3个节点上的数据