我在amazon-Dynamodb中有“book”表,它有287个项目和97kb的大小。我尝试通过ruby on rails编码(控制器)从books表中加载所有数据。但是它的加载时间非常慢。有时,由于超时情况,它什么也不显示。因此,请帮助我提高发电机数据库表处理的知识。
发布于 2015-05-12 15:34:22
Amazon Dynamodb这是一个键值存储数据库,您不应该提取“所有数据”,因为它的设计是使用扫描命令来提取一条或几条记录。
你能描述一下你的问题和为什么你需要使用Dynamodb吗?
发布于 2015-05-13 01:01:17
考虑使用DynamoDB并行扫描应用编程接口:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#QueryAndScanParallelScan
扫描的开销很大,因为您要读回表中的所有项(每个项都会占用读容量),但如果您真的想读回表中的所有项,这可能是最有效的解决方案。
DynamoDB页扫描结果,因为每个结果最多可以包含1MB。这可能需要一些时间,因为您需要接收上一页并获取lastEvaluatedKey参数来调用下一页。并行扫描API将散列关键字空间分解为可独立处理的段(仍可能需要多个页面)。通过在单独的线程中处理每个扫描段,您应该能够实现更多的并行度和更少的总时间来检索表中的项目。
在某些情况下,您还可能会消耗掉所有预置的吞吐量,从而导致节流。要缓解此问题,您可以增加预置的吞吐量,或使用速率限制器实施自我调节。
https://stackoverflow.com/questions/30184127
复制相似问题