我有一个dynamodb表。
它具有主分区键 - IdType(字符串)和主要排序键 - Id(字符串)
由于它是散列范围架构,因此IdType不是唯一的,一个密钥可以多次。我需要找到所有唯一的IdType。
我们如何找到它?一种可能的解决方案是使用扫描获取所有IdType并处理所有客户端并使用我们自己的代码查找唯一。但扫描费用昂贵,扫描每次扫描仅限于1MB数据,因此扫描不可行,因为该表已经超过1 MB数据,并且将来会逐渐增加。
还有其他办法吗?任何帮助将不胜感激。
PS:没有索引
答案 0 :(得分:1)
简短的回答是 NO ,查询DynamoDB表时,您需要的第一件事就是Hash键,这样就消除了查询数据的所有选项,因为您必须使用哈希键来查找数据。 / p>
据我所知,DyanmoDB没有任何内置属性来查找密钥的唯一性。
如果你想达到这个目的,你可以通过
来实现1)按照您的提及扫描表格并在应用程序级别对其进行过滤。
2)如果您的数据没有经常更新,那么您可以将数据存储在缓存中并检索所需的信息
3)您可以使用另一个名为cloudSearch的AWS服务来实现所需的结果(必须支付更多费用)
如果您能够通过其他方法实现,请分享。
希望有所帮助