appengine datastore多个“put”事务性能

时间:2012-02-21 16:51:55

标签: python google-app-engine datastore

我有一个请求对属于同一实体组的实体执行几次“put”操作。

他们参与交易并不重要,但我想知道这样做会对性能产生什么影响,是否有任何机会性能会提高,因为只提交了一个更改集?

更重要的是,如果我在事务内的单个实体上有几个“put”操作。它与最后一个“put”操作有什么不同吗?

1 个答案:

答案 0 :(得分:1)

一些背景信息,App Engine数据存储基于Google的Megastore数据库,您可以在这里度假时阅读:http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en//pubs/archive/36971.pdf

超级快速摘要是,在不同服务器上并行存储或读取实体时,数据存储区可获得性能优势。但是,为了在实体组内获得事务语义,所有这些事务都在同一服务器上串行运行。因此它们会慢一些。

我不是谷歌员工,所以我不确定问题的最后部分。您实质上是在询问他们是否对将多个看跌期权合并为单个看跌期权的交易进行了任何优化。我没有看到任何提及这样的优化,我认为它不存在。每个put操作基本上写入整个实体,因此我怀疑单个实体上的多个put操作将比最后一个put更差。

新的ndb API可能会对此进行一些优化。