我已经足够搜索了这个&尚未找到答案。所以我在问。
每秒大约有一个事务的写入吞吐量限制 在一个实体组内。
现在让我们说我有一个实体用户&另一个实体汽车。他们有一个共同的父母。所以User + Car + Their_Parent是一个实体组。正确?
让我们假设在数据存储区中用户&汽车每个都有一百万个实例/行。
如果我触发事务查询以更新数据存储区中的实例/行。
我的困惑是有多少实体组实例因应用Google DataStore的写入限制而被锁定?
一个。用户+汽车(全面有两千万个实例)
B中。只有1个User + Car实例? (1个用户行和1个车行)
在数据库用语中,User是实体种类/表。整个也是如此 表/种类被锁定1次写入操作或仅一个实例/行 被锁定1次写入操作?
如果A表示1次写入的意思,那么所有2000万行User + Car实体都将被锁定?那太疯狂了。如果我必须更新所有2000万行怎么办?如果写操作只更新1行,那么2000万行需要2000万秒才能避免任何争用吗?
答案 0 :(得分:1)
实体组是通过祖先连接到a的一组实体 共同的根元素。将数据组织到实体组中即可 限制可以执行的交易:
请参阅“ Python ”文档here。感到惊讶的是它不在您的Java文档链接
中答案 1 :(得分:0)
在上面的示例中,每个组织可能需要更新组织中任何人的记录。考虑一个场景,其中“ateam”中有1,000个人,并且每个人在任何属性上每秒可能有一个更新。因此,实体组中每秒最多可能有1,000个更新,这是由于更新限制而无法实现的结果。这表明选择考虑性能要求的适当实体组设计很重要。这是在最终一致性和强一致性之间找到最佳平衡的挑战之一。