如何使用键空间

时间:2017-11-14 12:08:33

标签: cassandra replication cassandra-3.0

我有一个Cassandra数据库和一个带有一些表的键空间,我不想重复。 我知道,cassandra的一个关键特性是复制,但我不想复制。

我有3个DataCenters:dc1,dc2,dc3

目前我正在每个DC上创建像这样的Keyspace:

CREATE KEYSPACE IF NOT EXISTS myKeyspace 
  WITH replication={'class':'NetworkTopologyStrategy', 'dc1': '1'};

据我所知,这意味着dc1将被复制到其他三个DC中的一个? 如果我不想复制,这应该怎么样?

1 个答案:

答案 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个节点上的数据