模型`在BigTable中的Cassandra`中按分区键选择

问题描述 投票:0回答:1

相比于在BigTable中对select by partition key in Cassandra建模的等价物是什么?

例如;如果我有一张卡桑德拉桌子

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中;我认为这相当于在一行中添加列?如果是这样一个相对标准的设计模式?

或者如果没有;是否有另一种可以使用的模式?

谢谢布伦特

select cassandra partitioning bigtable
1个回答
0
投票

这主要是在评论中提到的。 Bigtable没有单独的分区键和主键概念,只有一个索引。

您的示例您可能希望将您的员工ID和部门ID都作为行密钥的一部分。密钥按字典顺序存储,您可以使用前缀来执行更高效的子扫描,因此您需要确定是连接员工ID还是部门ID,反之亦然。

这有点类似于反向域名模式,您可能需要查看此处建议的指导:

https://cloud.google.com/bigtable/docs/schema-design#types_of_row_keys

© www.soinside.com 2019 - 2024. All rights reserved.