【发布时间】:2016-08-10 04:48:16
【问题描述】:
我想从 Google 数据存储表中加载大量数据。为了提高性能,我想并行运行几个查询,每个查询都加载很多对象。游标不适合并行执行。
QuerySplitter 是。但是,对于 QuerySplitter,您必须告诉它您想要多少拆分,而我关心的是加载一定数量的对象。这个数字是根据我的应用程序的需要选择的,大但不是太大,比如 800 个对象。如果每个查询返回的对象数量只是非常大致相同,那也没关系;不同的线程运行不同的时间不会发生更糟糕的事情。
我该怎么做?我可以只查询所有对象的键来计算它们,然后除以 800。有没有更好的方法。
【问题讨论】:
-
您可以使用Datastore Statistics API 来获取
__Stat_Kind__ -
谢谢!我对此一无所知,这可能是我加载整个表格时要做的事情。但是,我们希望能够基于过滤器将部分数据加载到表中——尽管仍然是大量数据。我已经相应地编辑了这个问题。如果您想将您的评论放入答案中,我可以投票和/或接受它。
标签: google-app-engine google-cloud-datastore cursors