【发布时间】:2018-08-28 11:54:53
【问题描述】:
有一个相关问题是关于同一键空间中的表具有相同的分区键,导致这些分区的数据在同一个节点上。
如果 keyspace 不同而我们有相同的分区策略会怎样:具有相同分区 key 的两条记录(来自不同的 keyspace)是否会将它们的数据放在同一个节点上?
简化示例:
cqlsh> CREATE KEYSPACE test_1 WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'} AND durable_writes = true;
cqlsh> CREATE KEYSPACE test_2 WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'} AND durable_writes = true;
cqlsh> CREATE TABLE test1.t (id int, val int, PRIMARY KEY(id));
cqlsh> CREATE TABLE test2.t (id int, val int, PRIMARY KEY(id));
cqlsh> INSERT INTO test1.t (id, val) VALUES (1,1);
cqlsh> INSERT INTO test2.t (id, val) VALUES (1,1);
现在 test1.t(1,1) 会和 test2.t(1,1) 在同一个数据节点上吗?
我手动尝试了一些记录并检查
nodetool getendpoints test1 t 1
nodetool getendpoints test2 t 1
似乎总是返回相同的节点。
【问题讨论】:
标签: cassandra