跨实体组(XG)事务实际上只触及一个实体组时会产生开销吗?

时间:2011-11-01 03:21:41

标签: performance google-app-engine transactions

App Engine最近宣布支持Cross Group (XG) transactions;当在多个实体组中使用时,人们会期望这些事务会产生额外的开销,但如果我在事务开始时指定我想要一个XG事务,但实际上只访问一个实体组,我会看到显着的性能影响吗?

我问,因为JDO要求在持久性管理器级别指定XG-ness,并且为所有事务打开它会更简单(我只需要少数几种情况)......

2 个答案:

答案 0 :(得分:3)

来自官方文档:

  

仅触及单个实体组的XG事务就像   单组交易。这种交易中的操作有   与同等单组相同的性能和成本   关于计费和资源使用的交易,但会   体验更高的延迟。

源: https://developers.google.com/appengine/docs/python/datastore/overview

答案 1 :(得分:1)

如果是这种情况,则没有记录或定义,但最安全的做法是假设所有交易都存在开销。

如果你担心开销,你可能不应该使用JDO,因为创建一个PersistenceManager本身就有很多开销。