Cassandra 数据分布

Cassandra Data distribution

@here:我有一个与 cassandra 分区相关的问题,如果我在下面创建 tables 2 tables 低于 2 tables 我们将基于 group_id 进行查询,因此在 group_id 上创建分区 在不同的 table 中具有相同的 group_id 值,这些 table 的数据是否会转到相同的 cassandra 节点 我知道他们去不同的 ss_tables,但是当令牌生成时生成的分区键具有相同的值 2 个不同的 tables 他们会在同一个节点上吗? 这 2 table 非常小,每个 table 最多有 100 个组 几乎每个 group_id 它可能在第一个 ---primary key(group_id,serv_id) 中有 1000 个服务 几乎每个 group_id 它可能在第二个 --primary key(group_id,category_id)

中有 1000 个类别

因为行 partition_value 相同,在这种情况下,两者的 group_id 可能具有相同的值 他们会去相同的节点并创建任何数据热点吗?

CREATE TABLE services (
serv_id TEXT,
name TEXT,
description TEXT,
configuration_services SET<TEXT>,
data_services SET<TEXT>,
monitor_services SET<TEXT>,
command_services SET<TEXT>,
created_by TEXT,
created_at TIMESTAMP,
modified_by TEXT,
modified_at TIMESTAMP,
enable boolean,
group_id text,
primary key(group_id,serv_id)
) ;

CREATE TABLE categories (
category_id UUID,
name TEXT,
description TEXT,
category TEXT, [CONFIGURATION/COMMAND/DATA/MONITOR]
characteristics Set<TEXT>,
created_by TEXT,
created_at TIMESTAMP,
modified_by TEXT,
modified_at TIMESTAMP,
enable boolean,
group_id text,
roles_allowed MAP<TEXT,TEXT> // role based permissions.
primary key(group_id,category_id)
) ;

只要表具有相同的复制因子、键空间和分区键,它们就存储在同一个节点上。