App Engine:NDB和数据存储之间的差异

时间:2014-05-14 04:19:55

标签: python django google-app-engine

我现在已经阅读了Google App Engine文档(Python),发现了两种不同类型的存储空间。

  1. NDB数据存储区
  2. DB Datastore
  3. 两个配额限制(免费)似乎都是相同的,他们的数据库设计也是如此。但是,NDB会自动在Memcache中缓存数据!

    我其实想知道何时使用哪个存储空间?关于这个的一般做法是什么?

    我可以完全依赖NDB而忽略数据库吗?应该怎么做?

    我一直在使用Django并且在Django-nonrel中读取JOIN操作可以在NDB中以某种方式完成!其余的存储空间用于DB!这是为什么?这两个存储都是无模式的,并且使用相同的设计。如何有人可以在NDB中而不是在DB中调整JOIN?

1 个答案:

答案 0 :(得分:5)

简单来说,这是数据存储的两个版本。 db是旧版本,ndb是较新版本。区别在于模型,在数据存储区中这些是相同的。 NDB提供了诸如处理缓存(memcache)本身的优点。和ndb比db快。所以你一定要使用ndb。使用ndb数据存储区只需在定义模型时使用ndb.Model