在planetcassandra阅读此博客后,我想知道带有3个字段的CQL3复合索引如何映射到thrift列系列字中,例如:
CREATE TABLE comments (
article_id uuid,
posted_at timestamp,
author text,
karma int,
content text,
PRIMARY KEY (article_id, posted_at)
)
此处,article_id列将映射到内部行键,并且published_at将映射到单元名称的(第一部分)。
如果表格设计
怎么办?CREATE TABLE comments (
author_id varchar,
posted_at timestamp,
article_id uuid,
author text,
karma int,
content text,
PRIMARY KEY (author_id, posted_at, article_id)
)
非常感谢您的回答。
答案 0 :(得分:2)
上述观察结果不正确,正确的观察结果为here
我亲自验证过:
In the first case:
article_id = partition key, posted_at = cluster key
In the second case:
author_id = partition key, posted_at:article_id = cluster key
答案 1 :(得分:1)
Aaron Morton @他的网站thelastpickle有一个很好的解释。
In the first case:
article_id = partition key, posted_at = cluster key
In the second case:
author_id + posted_at = partition key, article_id = cluster key
因此,请注意磁盘搜索,因为您使用第二种方法并且看到该行不会变得太宽并且与第一种情况相比给出了真正的好处。 如果你没有超过20亿并且在极限范围内,那么采用第二种方法不要过度,因为记录的分散发生在组合键上。