【问题标题】:App Engine: Difference between NDB and DatastoreApp Engine:NDB 和 Datastore 之间的区别
【发布时间】:2014-07-01 23:20:25
【问题描述】:

我现在浏览了 Google App Engine 文档 (Python),发现了两种不同类型的存储。

  1. NDB 数据存储
  2. 数据库数据存储

两个配额限制(免费)似乎相同,它们的数据库设计也相同。但是 NDB 会自动在 Memcache 中缓存数据!

我实际上想知道何时使用哪个存储?这方面的一般做法是什么?

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

我使用 Django 已经有一段时间了,并且在 Django-nonrel 中读到了 JOIN 操作可以在 NDB 中以某种方式完成!其余存储在数据库中使用!这是为什么?两种存储都是无模式的,并且很好地使用了相同的设计。有人如何在 NDB 中而不是在 DB 中调整 JOIN?

【问题讨论】:

  • 要清楚,只有一个数据存储。只有 2 个 api。 db 是原始的 api,ndb 是一个更新的 API,具有大量附加功能。如果你是从头开始一个应用程序 - 使用 ndb
  • 你应该链接到你显然读过关于 nonrel 的地方。实际上,您似乎完全误解了所阅读的内容。

标签: python django google-app-engine


【解决方案1】:

简单来说,这是 datastore 的两个版本。 db 是旧版本,ndb 是新版本。不同之处在于模型,在数据存储中,它们是相同的。 NDB 提供了诸如处理缓存(memcache)本身的优点。而且ndb比db快。所以你绝对应该选择ndb。要使用 ndb 数据存储区,只需在定义模型时使用 ndb.Model

【讨论】:

    猜你喜欢
    • 2019-02-09
    • 2014-11-06
    • 2015-08-02
    • 1970-01-01
    • 2012-12-26
    • 2021-05-19
    • 2018-12-15
    • 2019-03-17
    • 1970-01-01
    相关资源
    最近更新 更多