Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跨cassandra多个数据中心写入数据_Cassandra - Fatal编程技术网

跨cassandra多个数据中心写入数据

跨cassandra多个数据中心写入数据,cassandra,Cassandra,我想了解一下,, 假设我们有两个数据中心DC1和DC2,每个数据中心都有两个节点。 现在我已经形成了一个顺序为DC1:1-DC2:1-DC1:2-DC2:2的令牌环。 假设我没有跨DCs配置复制副本。 现在我的问题是,如果我将数据写入(比如说DC2)中,密钥将只映射到DC2中的节点,还是会映射到令牌环中的任何节点?如果您的密钥空间复制选项设置为 {DC1:2} (我假设这就是您所说的不跨DCs配置复制副本的意思。)那么数据将只存储在DC1上,因为DC2的复制系数隐式为零。您可以将数据写入任何节点

我想了解一下,, 假设我们有两个数据中心DC1和DC2,每个数据中心都有两个节点。 现在我已经形成了一个顺序为DC1:1-DC2:1-DC1:2-DC2:2的令牌环。 假设我没有跨DCs配置复制副本。
现在我的问题是,如果我将数据写入(比如说DC2)中,密钥将只映射到DC2中的节点,还是会映射到令牌环中的任何节点?

如果您的密钥空间复制选项设置为

{DC1:2}

(我假设这就是您所说的不跨DCs配置复制副本的意思。)那么数据将只存储在DC1上,因为DC2的复制系数隐式为零。您可以将数据写入任何节点(DC1或DC2),数据将被转发。这是因为,在Cassandra中,写入的目标并不取决于写入到哪个节点

但是,如果您使用

{DC1:2,DC2:2}


然后,所有数据都将写入所有节点,无论写入位置如何。

如果密钥空间复制选项设置为

{DC1:2}

(我假设这就是您所说的不跨DCs配置复制副本的意思。)那么数据将只存储在DC1上,因为DC2的复制系数隐式为零。您可以将数据写入任何节点(DC1或DC2),数据将被转发。这是因为,在Cassandra中,写入的目标并不取决于写入到哪个节点

但是,如果您使用

{DC1:2,DC2:2}

然后,所有数据都将写入所有节点,无论在何处写入