use*_*701 24 nosql azure-table-storage amazon-dynamodb
我有一个小问题,需要一些建议:
每个表的最新条目应该可以快速获得,并且最有可能被查询最多(有点像"实时跟踪数据").由于缺少'Last()'或类似,我正在考虑创建另一个表"LatestValues",其中更新每个数据表的最新条目以便更快地检索.但是,这会为每个写操作添加额外的更新.此外,大部分流量都集中在这张桌子上(好/坏?).有没有更好的解决方案,或者我错过了什么?
另外,假设我们要查询数据表中的值.由于扫描显然是不可能的,因此通过复制数据来创建二级索引是唯一的选择,有效地使存储要求和写入操作量增加一倍吗?还有其他方法吗?
我主要关注的是DynamoDB和Azure Table Storage,但我也很好奇BigTable如何处理这个问题.
yad*_*taf 36
我今天刚刚发表了一篇文章,其中包含一些关于DynamoDB的常见"食谱".其中一个是"存储文章修订,总是最新的"我认为它可能会让你感兴趣:)
简而言之,您可以使用最新的项目 Query(hash_key=..., ScanIndexForward=True, limit=1)
但是,这假设您有一个range_key_defined.
有了Scan,你没有这样的参数ScanIndexForward=false,无论如何,你不能依赖订单,因为数据分布在分区上,Scan然后请求负载平衡.
要使用DynamoDB实现目标,您可以通过以下方式"拆分"时间戳:
hash_key:约会range_key:时间或完整时间戳,如您所愿然后,你可以使用Query+ Limit=1+ 的'技巧'ScanIndexForward=false
| 归档时间: |
|
| 查看次数: |
23341 次 |
| 最近记录: |