【问题标题】:transaction throughput with incomplete keys?密钥不完整的交易吞吐量?
【发布时间】:2015-10-18 05:05:03
【问题描述】:

根据https://cloud.google.com/appengine/docs/go/datastore/entities 的文档,“在单个实体组中,写入吞吐量限制约为每秒一个事务”

这是否适用于不完整的密钥,例如在事务中使用不完整的密钥会将其限制为仅一个事务?

【问题讨论】:

    标签: google-app-engine google-cloud-datastore


    【解决方案1】:

    如果您的意思是不完整的密钥,因为您让系统生成 id,那么它位于实体组中,那么写入该实体组的速率限制相同。

    如果它在不同的实体组中,则不会。

    请记住,速率限制是针对每个实体组的,无论密钥是如何生成的。

    【讨论】:

    • 因此,如果事务使用不完整的键创建新实体(即对该实体的唯一操作是“放置”),那么这样的事务可以每秒运行多次 - 但如果那样事务使用不完整的密钥创建该实体,然后对该实体发出另一个调用(即第一次创建时额外的“放置”),那么这样的事务被限制为每秒一个?
    • 每个实体组每秒允许一次事务提交。正如 Tim 所说,如果您使用了不完整的密钥,即数据存储区分配了 ID,或者您的应用程序代码提供了 ID,则无关紧要。您在事务期间“放置”实体的频率也与此限制无关(它只会减慢您的应用程序)。如果您的新实体对象没有父对象,也没有子对象,则它在自己的实体组中被隔离,因此您可以每秒对该对象执行事务性放置。另见googlecloudplatform.blogspot.de/2015/08/…
    猜你喜欢
    • 1970-01-01
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 2020-04-10
    • 2013-03-23
    • 2018-06-25
    相关资源
    最近更新 更多