在 BigTable 中通过 Cassandra 中的分区键对 `select 进行建模
Model `select by partition key in Cassandra` in BigTable
在 BigTable 中建模 select by partition key in Cassandra
相当于什么?
例如;如果我有一个 Cassandra table
CREATE TABLE emp (
empID int,
deptID int,
first_name varchar,
last_name varchar,
PRIMARY KEY (empID, deptID));
我可以查询
SELECT deptid FROM emp WHERE empid = 104;
在BigTable中;我认为这相当于将列添加到行?
如果是这样,那是否是一个相对标准的设计模式?
或者如果不是;还有其他模式可以使用吗?
谢谢
布伦特
这主要在评论中解决。 Bigtable 没有单独的分区键和主键概念,只有一个索引。
在您的示例中,您可能希望将员工 ID 和部门 ID 作为行键的一部分。键按字典顺序存储,您可以使用前缀来进行更有效的子扫描,因此您需要确定是否将员工 ID 与部门 ID 连接起来,或者反之亦然。
这有点类似于反向域名模式,您可能需要查看此处建议的指南:
https://cloud.google.com/bigtable/docs/schema-design#types_of_row_keys
在 BigTable 中建模 select by partition key in Cassandra
相当于什么?
例如;如果我有一个 Cassandra table
CREATE TABLE emp (
empID int,
deptID int,
first_name varchar,
last_name varchar,
PRIMARY KEY (empID, deptID));
我可以查询
SELECT deptid FROM emp WHERE empid = 104;
在BigTable中;我认为这相当于将列添加到行? 如果是这样,那是否是一个相对标准的设计模式?
或者如果不是;还有其他模式可以使用吗?
谢谢 布伦特
这主要在评论中解决。 Bigtable 没有单独的分区键和主键概念,只有一个索引。
在您的示例中,您可能希望将员工 ID 和部门 ID 作为行键的一部分。键按字典顺序存储,您可以使用前缀来进行更有效的子扫描,因此您需要确定是否将员工 ID 与部门 ID 连接起来,或者反之亦然。
这有点类似于反向域名模式,您可能需要查看此处建议的指南:
https://cloud.google.com/bigtable/docs/schema-design#types_of_row_keys