wTy*_*ers 14 google-app-engine app-engine-ndb google-cloud-datastore
摘自Python NDB概述:
当应用程序读取实体时,该实体会自动缓存; 这为经常读取的实体提供了快速(且便宜)的读取.
...
写入数据的NDB函数(例如put())在高速缓存失效后返回; Apply阶段异步发生.
在Youtube上观看,Google I/O 2011:更多9s请:在高复制数据存储的封面下,在13:11-ish,平均延迟是:
主从:
- 阅读:15ms
- 写:20ms
高复制:
- 阅读:15ms
- 写:45ms
从应用程序的角度来看,NDB对这些速度的影响有多大?
编辑:特别好奇时序统计(以毫秒为单位).
额外信用:我也听过尼克约翰逊提到每个约160毫秒的询问(2009年)[link]NDB是否提供查询的任何速度优势?
Gui*_*sum 18
您必须自己进行基准测试 - 时间取决于许多因素,例如实体大小和复杂性:更多属性或重复属性中的更多项目 - >更复杂.
你引用的数字真的很旧,可能不再反映现实; 大多数用户的经验是,HRD平均不比M/S慢(部分原因是M/S具有更高的可变性).
这里有一些NDB基准测试:http://code.google.com/p/appengine-ndb-experiment/issues/detail? id = 118 - 但它没有将数字与旧数据库进行比较.
您可以使用Appstats在真实应用中快速完成一些操作时间.
Alb*_*ert 10
从应用程序的角度来看,使用NDB可以显着加快数据存储区调用的速度.
READ:最佳情况,读取是从实例缓存或内存缓存.在大多数情况下,这比从数据存储区读取要快得多.
WRITE:NDB put/write方法在缓存失效后立即返回.这比正常写入更快.所以从你的应用程序的角度来看,它的速度要快得多.但是,实际写入是异步执行的.
NDB与DB(高复制):从应用程序的角度来看,NDB应该是一个明确的胜利.