【发布时间】:2019-05-03 04:36:47
【问题描述】:
我是 Cassandra 的新手,所以我有几个简单的问题,假设我这样做:
CREATE TABLE my_keyspace.my_table (
id bigint,
year int,
datetime timestamp,
field1 int,
field2 int,
PRIMARY KEY ((id, year), datetime))
我认为 Cassandra 类似于 Map<PartitionKey, SortedMap<ColKey, ColVal>>,
我的问题是,当使用 WHERE 从 Cassandra 查询某些内容时,它会像:
SELECT * FROM my_keyspace.my_table WHERE id = 1 AND year = 4,
这可能返回 2 条或更多记录,这与 Cassandra 的数据模型有什么关系?
如果它真的是 Big HashMap,怎么会允许 partition key 的重复记录?
谢谢!
【问题讨论】:
-
在任何数据库中,PRIMARY_KEY 是记录的唯一标识符,您不能拥有超过 1 条完全相同(id、年份和日期时间)的记录,在您的情况下,日期时间必须不同。跨度>
标签: cassandra