cassandra的primary key, partition key, cluster key,

Posted 且听风吟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cassandra的primary key, partition key, cluster key,相关的知识,希望对你有一定的参考价值。

https://stackoverflow.com/questions/24949676/difference-between-partition-key-composite-key-and-clustering-key-in-cassandra

 
primary key是一个宏观概念,用于从表中取出数据,primary key由多个column组合而成。
create table stackoverflow (
key text PRIMARY KEY,
data text
);

 

如上面的语句所示,主键可以是一个单独的列。但是主键也可以是由多个列组成的,如composite。
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
 
 

以上是关于cassandra的primary key, partition key, cluster key,的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL 的 primary key 和unique key 的区别

mysql中key和primary key的区别

分布式 Key-Value 存储系统:Cassandra 入门

Cassandra学习五 使用Key的正确姿势

GaussDB (for Cassandra) 数据库治理:大key与热key问题的检测与解决

MySql里面的 PRIMARY KEY 和 KEY 是啥关系?一个字段即可以是PRIMARY KEY 又可以是 KEY吗?