gpt4 book ai didi

cassandra - 具有 3 个字段的 CQL3 复合索引在 thrift 列族世界中如何映射?

转载 作者:行者123 更新时间:2023-12-04 05:04:32 24 4
gpt4 key购买 nike

planetcassandra 阅读此博客后,我想知 Prop 有 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 将映射到内部行键,posted_at 将映射到单元格名称(的第一部分)。

如果 table 设计是
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)
)
  • 并且内部行键是否映射到复合索引的第 1 2 个字段,而 article_id 映射到单元格名称,基本上可以切片多达 20 亿个条目,并且对 author_id 和posted_at 组合的任何查询都是磁盘上的一次查找?
  • 复合键中任意数量的字段的行为是否相同?

  • 非常感谢您的回答。

    最佳答案

    以上观察不正确,正确的是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
  • 组合键(author_id)的第一部分称为“分区键”,
    rest (posted_at,article_id) 是剩余的键。
  • 当使用复合键时,Cassandra 以不同的方式存储列。分区键
    成为行键。剩余的键与每一列连接
    名称(“:”作为分隔符)以形成列名称。列值保留
    不变。
  • 剩余的键(分区键除外)是有序的,
    并且不允许在任何随机列上进行搜索,您必须
    从第一个开始,然后你可以移动到第二个
    等等。从“错误请求”错误中可以明显看出这一点。
  • 关于cassandra - 具有 3 个字段的 CQL3 复合索引在 thrift 列族世界中如何映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15701111/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com