1

的GAE的most recent release的进一步解释规定如下变化:跨集团(XG)交易和使用

数据存储

跨集团(XG)交易:对于那些谁需要事务写入 到实体在多个实体组(这是每个人,对不对?), XG交易是正义的事情。该功能使用两个阶段提交 来进行跨组写入,就像单组写入一样。

我想我会用我创建了一个前段时间一个项目的代码中的这种变化,但我想就此更新到App Engine的更多信息。我似乎无法找到任何其他信息。所以...

关于此更新,编码事务如何更改?通俗地说,我如何实现跨组交易,还有一些我需要注意的数据存储交易的局限性?

我知道这是一个相当模糊的问题。我的问题是,这听起来很有用,但我不确定如何正确(和有效)使用此更改。

回答

4

您是否阅读过任何文档?这听起来像你没有(根据你说“我似乎无法找到任何额外的信息”)。在这种情况下,请查看下面的链接,看看是否还有任何问题。

从概念上讲,进行跨组交易与典型的GAE交易非常相似,只是速度较慢,只能在HRD中使用。请注意,一般来说,GAE事务,“正常”和XG具有不同于您可能用来从SQL数据库获得的隔离特性。第二个链接在XG部分之后立即进行讨论。

下面是第一个链接的摘录,显示了使用XG有多简单。

from google.appengine.ext import db 

xg_on = db.create_transaction_options(xg=True) 

def my_txn(): 
    x = MyModel(a=3) 
    x.put() 
    y = MyModel(a=7) 
    y.put() 

db.run_in_transaction_options(xg_on, my_txn) 
+0

是的,我明白我的评论有点模糊,但是这正是一直在寻找。我现在知道了。 – RLH