use*_*263 5 java google-app-engine google-cloud-datastore
我有一个长期运行的工作,更新1000个实体组.我想在之后启动第二份工作,必须假设所有这些项目都已更新.由于有太多的实体组,我不能在一个事务中执行它,所以我只安排第二个作业在第一个完成使用任务队列后运行15分钟.
有没有更好的办法?
是否可以安全地假设15分钟承诺数据存储与我以前的呼叫同步?
我正在使用高复制.
在关于HRD的Google IO视频中,他们列出了处理最终一致性的方法.其中一个就是"接受它".一些更新(如twitter帖子)不需要与下一次阅读保持一致.但是他们也说了一句"嘿,我们只是说它们在一致之前的几秒钟之内".这个时间框架是否记录在其他地方?是否安全,假设在写入之后等待1分钟再次阅读将意味着所有我的早期写入都在读取?
提及的是在此视频中的39:30标记http://www.youtube.com/watch?feature=player_embedded&v=xO015C3R6dw
我确实找到了这样的说法:
通过最终一致性,超过 99.9% 的写入可在几秒钟内用于查询。
在此页面底部: http://code.google.com/appengine/docs/java/datastore/hr/overview.html
因此,对于我的应用程序来说,下次读取时它不存在的可能性为 0.1% 可能是可以的。但是,我确实计划重新设计我的架构以利用祖先查询。
| 归档时间: |
|
| 查看次数: |
340 次 |
| 最近记录: |