相比于在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中;我认为这相当于在一行中添加列?如果是这样一个相对标准的设计模式?
或者如果没有;是否有另一种可以使用的模式?
谢谢布伦特
这主要是在评论中提到的。 Bigtable没有单独的分区键和主键概念,只有一个索引。
您的示例您可能希望将您的员工ID和部门ID都作为行密钥的一部分。密钥按字典顺序存储,您可以使用前缀来执行更高效的子扫描,因此您需要确定是连接员工ID还是部门ID,反之亦然。
这有点类似于反向域名模式,您可能需要查看此处建议的指导:
https://cloud.google.com/bigtable/docs/schema-design#types_of_row_keys