1
我正在寻找将大量照片存储在DynamoDB表中。 每张照片都可以属于一张“相册” - 事实上,一张照片可以属于多张相册。 我想设置数据,以便我可以对album_id执行查询并检索属于该相册的所有photo_id。将项目存储在DynamoDB表中,其中键和范围键可能重叠
例如:“给我拿所有属于专辑1张照片”
table "album-photo-map"
keys(album_id, timestamp) - photo_id
然后我可以在桌子上张专辑,照片地图上执行一系列的查询请求属于专辑所有photo_ids “1”,且时间戳的range_key大于0.
问题是 - 如果有两张照片具有相同的时间戳,该怎么办? DynamoDB不会让我拥有多个具有相同密钥的项目。解决此
一种方式是存储在该album_id的数据字段的一个photo_ids的二进制名单,但随后的照片列表变成由64K,我宁愿不做限制。
我在想这个吗?有重复时间戳问题的解决方案吗?也许我可以这样做:
timestamp = str(time.time()).replace('.','')
>> 134704419008
并存储?这是否足够快以消除重复问题?
实际上,制作一个随机的整数字符串并在我的整数时间戳的十进制后修复它可能更有效。所以range_key的格式将是“timestamp.random_num” – ensnare
事实上,这是我的建议:) – yadutaf
,我怎么能去从表中删除项目如果需要的话,在一个单一的操作有什么建议? – ensnare