Google App Engine - 增加数据存储区运营

时间:2017-02-27 11:36:14

标签: python google-app-engine datastore

今天,我们第一次在Google App Engine中收费,主要原因似乎是Datastore的创建,阅读和删除操作。

我正在试图找出导致这种情况的原因 - 或者谈论数百万次奇怪的操作。

我们每天有半个任务删除750个实体并编写750个新实体,所以我相信我们应该注意的事情 - 但即使这样,它又怎么会有数百万呢?

另一个问题是 - 如果我使用的是远程api,那么Datastore操作会有什么额外的影响吗?

我们必须减少这个数字因为我们只有10-15名测试用户,而我们现在根本无法负担这笔费用。

我想听听您的经验中的任何建议,或者我们应该检查可能导致此操作的事情。

由于

1 个答案:

答案 0 :(得分:0)

原因可能是列表属性的复合索引。

想象一下你有:

With

并在(Prop1,Prop2,Prop3)上有一个综合指数。

如果推送像MyModel: Prop1: list of vals Prop2: list of vals Prop3: list of vals 这样的单个实体,则会生成:

MyModel(prop1=[1,2,3], prop2=[4,5,6,7], prop2=[8,9,10,11,12])

使用列表属性上的复合索引,您可以在几何级数中编写操作,这可能会导致索引的组合爆炸。