我一直在为以前的 App Engine 项目使用主/从数据库,但我的新应用程序被定义为 High Replication Datastore(我不相信在定义后可以更改此设置)。
到目前为止,我一直在做的是detachedCopy
在更新后调用一个对象,以便后续更新肯定会与新更新的对象图一起使用。
但是,High Replication Datastore 有一个我不完全理解但担心的特性——即“最终一致”。我从 Google App Engine 组的一些 Python 人员那里听到的是,他们将对“模型”对象执行更新,但由于 High Replication Datastore 直到感觉像它之后才会返回更新的对象图,因此任何后续更新此对象现在可能与底层数据存储不同步。
如果这是正确的,这有点像我detachedCopy
在 Datanucleus JDO 中使用的方式 - 在主/从数据库下,我从未遇到过分离对象与 datstore 不一致的情况。这是我现在需要担心的事情吗?有什么方法可以避免 High Replication Datastore 造成的灾难吗?或者如果没有 JDO 解决方法,我应该简单地针对主/从配置运行我的所有应用程序以避免此问题?