丢失实体的成本

Dou*_*oug 5 google-app-engine google-cloud-datastore

我的应用程序可以计算数量存储区中通常不存在实体的少量密钥.例如,我可以发送15个密钥的批量获取,其中只有4个返回实体.

Docs只是声明get是一个Read操作.当实体不存在时,这仍然是真的吗?

Sha*_*men 4

您将支付密钥分配费用(每个密钥),并将更改少量费用(目前每 10 万次操作花费 0.01 美元)。

如果我了解使用密钥获取 10 个实体的计费页面将花费您 10 个小单位 + 读取单位 * 找到的实体。


我决定亲自检查一下,TL;博士,你不会喜欢这个结果。

我创建了一个简单的模型,以及一个请求该模型 10,000 次的处理程序。

class DevNull(db.Model):
    pass

class EmptyHandler(webapp2.RequestHandler):    
    def get(self):
        for i in xrange(10):
            keys = [db.Key.from_path('DevNull', i*j+1) for j in xrange(1000)]
            res = DevNull.get(keys)

            print len(res)
Run Code Online (Sandbox Code Playgroud)

每次读取配额会增加 10,000 次读取操作,其中 5 次会耗尽可用配额。