DynamoDB-多个范围键
-
29-09-2020 - |
题
是否有可能有多个字段作为范围键?
假设我有一个表,其中每行都由唯一标识 <A,B,C>
-------------------------------
A | B | C | D | E |
-------------------------------
哪里 A
是主要的 hash
钥匙
我要 B
和 C
成为主要 range
钥匙。
如何在DynamoDB中将超过2个字段作为主键?
解决方案
DynamoDB中的主键不能超过2个字段。
作为解决方法,您可以创建 local secondary index
对于要成为范围键的每个字段。但是,您将无法同时使用多个范围键构建查询,因为DynamoDB一次只能使用一个索引。
考虑使用过滤器表达式,您最终可能会使用比您需要的更多的读取吞吐量(在从db接收数据后执行过滤),但获得所需的结果。
其他提示
将b和C的副本放在范围字段中(作为额外的列),并使您的范围键像"B_C",如果需要,您仍然可以为B和C单独的列。
不隶属于 dba.stackexchange