cassandra的primary key, partition key, cluster key
create table stackoverflow (
key_part_one text,
key_part_two int,
data text,
PRIMARY KEY(key_part_one, key_part_two)
);
在组合主键的情况下,第一部分称作Partition Key(key_par_one就是partition key),第二部分是CLUSTERING KEY(key_part_two)
同时也需要注意,parition key和clustering key可以是由多个column组成的。
create table stackoverflow (
k_part_one text,
k_part_two int,
k_clust_one text,
k_clust_two int,
k_clust_three uuid,
data text,
PRIMARY KEY((k_part_one,k_part_two), k_clust_one, k_clust_two, k_clust_three)
);
解释:
- partition key负责将数据分到集群节点上
- clustering key负责将partition中的数据排序
- primary key在表的key只有一个field的情况下和partition key是等效的
- composite/compound key是多列key