我正在尝试使用 Google App Engine(高复制数据存储)我了解频繁写入单个实体组可能会导致争用。正是为了避免这种情况发生,我的实体都是根实体,即每个实体都是一个单独的实体组。
我开始交易
获取实体
如果它已经存在,则回滚事务
否则放置实体并提交事务
所以我认为我正在利用应用程序引擎声称的非相关实体(即不在同一实体组中的实体)的高吞吐量优势
然而,有时候,我会得到一个可怕的例外“对这些实体的争论太多”。为什么要对不在同一组中的实体进行争用?
我们被告知,对于单个实体组,我们可以预期每秒不超过 1 到 10 次写入。
但我还没有看到我们可以期望应用程序引擎处理写入单独实体组的数字我认为竞争似乎发生在我认为非常低的需求(每秒大约 100 次写入)
我错过了什么吗?除了拥有单独的实体组之外,是否还有其他规则需要遵守才能获得高吞吐量?
还是我对每秒至少数百次写入的期望太高了?