从数据存储中获取大量实体

时间:2016-01-02 19:09:20

标签: google-cloud-datastore

通过this问题,我可以在数据存储区中存储大量(> 50k)实体。现在我想在我的应用程序中访问所有这些内容。我必须对它进行数学运算。它总是超时。一种方法是再次使用TaskQueue,但它将是异步作业。我需要一种方法来访问我的应用程序中的这些50k +实体并处理它们而不会有时间。

1 个答案:

答案 0 :(得分:1)

原始问题的部分答案可能仍然适用,例如24小时截止日期的手动缩放实例。或VM实例。当然是有代价的。

使用memcache可以实现一些加速。

附注:根据实体的大小,您可能还需要密切关注实例内存的使用情况。

另一种可能性是切换到faster instance class(并且还有更多内存,但也需要额外费用)。

但所有这些改进可能仍然不够。最好的方法仍然是更深入地考虑您的实体数据处理算法 - 使其可扩展

我很难想象计算如此单一,无法分解成一小块,一次不需要全部数据。我几乎可以肯定必须有一些使用某些部分计算的方法,可能存储一些部分结果,这样你就可以分解问题并允许在多个请求中以较小的部分处理它。

作为一个极端(学术)的例子,考虑到CPU几乎可以完成任何超复杂的计算,只需要在一小组寄存器上进行简单的短操作序列 - 它完全是关于如何协调他们。

Here'一篇很好的文章描述了一个计算的整体持续时间的大幅减少(没有任何线索,如果它像你的一样)通过使用一个很好的方法(也很有趣,因为它&# 39;使用GAE Pipeline API)。

如果你发布你的代码,你可能会得到一些更具体的建议。