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

时间:2017-08-23 17:26:58

标签: select cassandra partitioning bigtable

在BigTable中对select by partition key in Cassandra进行建模等效的内容是什么?

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

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

由于 布伦特

1 个答案:

答案 0 :(得分:0)

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

您的示例中,您可能希望将员工ID和部门ID都作为行键的一部分。密钥按字典顺序存储,您可以使用前缀进行更有效的子扫描,因此您需要确定是将员工ID后跟部门ID串联还是反之。

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

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