GAE DataStore 如何支持事务?

Posted

技术标签:

【中文标题】GAE DataStore 如何支持事务?【英文标题】:how GAE DataStore support transaction? 【发布时间】:2014-01-07 01:05:42 【问题描述】:

据我所知,DataStore是基于bigtable实现的,事务只支持单个实体组或最多5个跨实体组,但是恕我直言bigtable只支持单行事务,同一实体组中的实体将插入多行,DataStore实体组如何在bigtable的限制下归档all-or-nothing事务。

【问题讨论】:

【参考方案1】:

下一代 Datastore,即 Firestore,使用类似于 Spanner 的架构,利用类似的技术来实现多行事务。

更多信息here 和here。

【讨论】:

【参考方案2】:

有点过时,但http://googleappengine.blogspot.com/2009/09/migration-to-better-datastore.html 可能会提供一些答案。在http://www.cidrdb.org/cidr2011/Papers/CIDR11_Paper32.pdf有更多关于Megastore的详细信息

【讨论】:

以上是关于GAE DataStore 如何支持事务?的主要内容,如果未能解决你的问题,请参考以下文章

GAE 中的分片祖先实体

如何在 Datastore GAE Python 中定义键名?

db.get() 与 db.get_by_key_name() 性能(GAE BIgtable/Datastore)

从本地 GAE 项目连接到 Google Cloud Datastore

说明在 Google Datastore (GAE) 上读/写的性能注意事项?

GAE上的RESTful API:端点 - 原型数据存储区与云端点