如果我在创建键空间时没有指定数据中心,数据将不会驻留在这些节点上

If I don't specify a datacenter in keyspace creation will data not reside on those nodes

场景如下: 我们在生产集群中有两个数据中心:一个 PROD 和另一个 DR。

我们创建复制到两个数据中心的键空间。那里没有问题。这是 thought/question:

如果我们想要 put/create 一个利用现有服务器的类似 Prod 的环境(PL - 这是生产的副本) - 但 - 不影响生产,我的想法是创建一个新的密钥空间,但是仅在 CREATE KEYSPACE 命令中指定 DR 数据中心。我们希望确保数据不会从 DR 数据中心传播到 PROD 数据中心,从而影响其存储和性能。我相信这会按照我的想法进行,这意味着数据将仅保留在 DR 数据中心,从而独立于生产。有人看到这有什么问题吗?

本质上是这样的:

CREATE KEYSPACE PL_KS WITH replication = 
    {'class': 'NetworkTopologyStrategy', 'DR': '2'}  AND durable_writes = true;

当 PL transactions/queries 针对 PL 密钥空间执行时,驱动程序也应该足够聪明,不会将它们连接到生产节点,对吗?所以本质上,所有 PL 活动都应该针对 DR 数据中心节点。

你的假设是正确的。仅使用 PL_KS 键空间指定复制到 DR 数据中心,将仅使用 DR 数据中心中的节点。

唯一的例外是,如果您的应用代码中定义的端点位于您的 PROD 数据中心内。然后应用程序将仅使用 PROD 数据中心节点进行初始发现,所有即将进行的操作将是 运行 针对 DR 节点。