我有一个发电机数据库表。
它有主分区键-IdType(String)和主排序键-Id(String)
由于它是哈希范围架构,IdType不是唯一的,一个键可以是多次。我需要找到所有唯一的IdType。
我们是怎么发现的?一个可能的解决方案是使用Scan获取所有IdType,并处理所有客户端,并使用我们自己的代码找到唯一的IdType。但扫描成本高昂,每次扫描只能扫描1MB的数据,因此扫描是不可行的,因为表中的数据已经超过1MB,而且将来还会逐渐增加。
还有别的办法吗?如有任何帮助,我们将不胜感激。
PS:没有索引
简短的答案是NO,要查询DynamoDB表,首先需要的是哈希键,因此这消除了查询数据的所有选项,因为必须有哈希键才能找到数据。
据我所知,DyanmoDB没有任何用于查找密钥唯一性的内置属性。
如果你想实现这一点,你可以通过来实现
1) 如前所述扫描表,并在应用程序级别对其进行筛选。
2) 如果您的数据没有经常更新,那么您可以将数据存储在缓存中,并检索所需的信息
3) 您可以使用另一个名为cloudSearch的AWS服务来获得所需的结果(需要支付更多费用)
如果你能用另一种方法实现,请一定要分享。
希望对有所帮助