use*_*656 0 cassandra cassandra-2.0 cassandra-3.0
Cassandra权威指南一书中说分区键和聚簇键的组合保证了数据库中的唯一记录...我理解分区键是保证记录唯一性的键 - 记录所在的节点被储存了。聚类键用于记录的排序。有人可以帮助我理解这一点吗?感谢并抱歉提出这个问题...
primary key是唯一的。partition key+clustering key必须是唯一的,但这并不意味着分区键或集群键必须单独唯一。您可以插入
当您再次插入 (a,b) 时,它将更新现有主键的非主键值。
在下面的示例中userid, 是分区键,date是集群键。
cqlsh:play> CREATE TABLE example (userid int, date int, name text, PRIMARY KEY (userid, date));
cqlsh:play> INSERT INTO example (userid, date, name) VALUES (1, 20200530, 'a');
cqlsh:play> INSERT INTO example (userid, date, name) VALUES (1, 20200531, 'a');
cqlsh:play> INSERT INTO example (userid, date, name) VALUES (2, 20200531, 'a');
cqlsh:play> SELECT * FROM example;
userid | date | name
--------+----------+------
1 | 20200530 | a
1 | 20200531 | a
2 | 20200531 | a
(3 rows)
cqlsh:play> INSERT INTO example (userid, date, name) VALUES (2, 20200531, 'b');
cqlsh:play> SELECT * FROM example;
userid | date | name
--------+----------+------
1 | 20200530 | a
1 | 20200531 | a
2 | 20200531 | b
(3 rows)
cqlsh:play>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1418 次 |
| 最近记录: |