我理解Google App Engine中分片值的理论,如下所述:
http://code.google.com/appengine/articles/sharding_counters.html
但是当我想对我已分片的值运行查询时会发生什么?我不能简单地查询该值,因为它在N个不同的计数器之间被随机分割。解决方案是偶尔将这些值相加以更新我的主要实体吗?我很想知道其他人已经解决了这个问题的解决方案。
编辑:我刚刚发现了Task Queue API,看起来它可能是在后台更新主值的解决方案。有人尝试过与分片并行使用吗?答案 0 :(得分:0)
你是对的,你不能在一次拍摄中使用另一个数据存储区查询中的总和,因为它在分片之间分开。但是,您可以运行初始查询来收集所有分片,将它们在内存中求和,然后使用该总和运行原始查询。
除此之外,是的,任务队列绝对是在后台完成此类工作的好方法。看一下这个想法的话题:
http://www.google.com/events/io/2010/sessions/high-throughput-data-pipelines-appengine.html