我熟悉Datastore对实体组的单次写入限制(ok,5,可能)。这与交易有什么关系?
文档似乎表明我可以在事务中进行多项修改 - 例如添加几个后代实体:
单个事务可以修改单个组中的多个实体, 或者通过使新实体的父实体成为新的实体来添加新的实体 该组中的现有实体。
https://cloud.google.com/appengine/docs/java/datastore/transactions
答案 0 :(得分:1)
是的,您可以在同一事务中为每个实体组执行多次写操作,但要小心:
当然,您可以在跨组事务中写入最多25个实体组(此时)(每个实体组都有自己的~1个写入/秒限制,最多可达~25个写入/秒) )。
在最终的一致性和写入throuput之间取得适当的平衡并非易事。这个可能有趣:What would be the purpose of putting all datastore entities in a single group?
更新DanMcGrath的评论:
技术上每个实体组每秒写1次写入事务, 其中一个事务最多可包含500个实体 组。这意味着您最多可以每秒写入500个实体 进入一个实体组。另请注意,您可以立即达到峰值 第二,虽然如果你支持它,你会增加击球的风险 争用以及系统的最终一致性。 - 丹 McGrath 1小时前