Google应用引擎 NDB

20

最近发布了NDB,是否有理由继续使用旧的数据存储API?

我正在开发一个当前使用旧的数据存储API的应用程序,并在memcache中缓存对象。如果我转换到NDB,我的理解是可以删除自定义缓存,并仍然保持当前性能,这个想法正确吗?

此外,NDB是否以任何方式改变了分片计数器的需求?在NDB中,实体(组)每秒5次写入的限制是否以某种方式改变?

编辑

考虑到我的应用程序仍在开发中,我没有无法轻松删除的实体,转换到NDB之前是否需要考虑什么?将db.Model更改为ndb.Model就像切换这么容易吗?


1
不管怎样,要么是互联网坏了,要么是Nick Johnson不在周日工作... 不管哪种情况我都输了... - Klaus Byskov Pedersen
5
好的,给我个机会吧!你只是一个小时前才问这个问题。 :) - Nick Johnson
1个回答

18

保持使用旧的API的主要原因是为了遗留应用程序。NDB API与现有的DB API并不完全相同,所以您需要修改代码才能使用它。如果您缓存查询结果,则无需再使用自己的缓存代码,至少对于获取操作而言是如此。

NDB不提供任何方法来规避需要在计数器上分片的需求,如果您想在其上使用高写入速率。


我正需要这些信息,谢谢。我还没有将查询结果缓存起来。你知道有没有关于这方面的好资料吗? - Klaus Byskov Pedersen
@KlausByskovHoffmann 不完全是这样的 - 这完全取决于您查询的性质。如果您可以可靠地使结果无效,则可以缓存它们 - 或者更好的是,缓存最终结果(生成的页面)。 - Nick Johnson
谢谢。嗯,我不确定在所有情况下都能可靠地使结果无效,所以现在最好不要缓存查询结果。无论如何,感谢您的帮助,很高兴看到您确实在星期天工作 :-) - Klaus Byskov Pedersen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接