google.appengine.ext.ndb和gcloud.datastore有什么区别?

时间:2016-09-11 23:53:35

标签: google-app-engine google-cloud-datastore app-engine-ndb google-app-engine-python

ndb :(来自google.appengine.ext import ndb)

datastore :(来自gcloud import datastore)

有什么区别?我已经看到它们都使用了,并暗示它们都将数据保存到谷歌数据存储区。为什么有两种不同的实现?

2 个答案:

答案 0 :(得分:9)

Python NDB客户端特定于在Google App Engine上运行的Python应用程序。数据存储客户端删除了该限制,您可以在任何地方运行Python应用程序,包括Google App Engine,Google Compute Engine或其他任何地方。

例外形式 - https://cloud.google.com/appengine/docs/python/ndb/

  

Google Datastore NDB客户端库允许 App Engine Python   要连接到云数据存储区的应用

此外,NDB客户端具有某些功能(例如缓存),而另一个则不支持。

答案 1 :(得分:1)

这两个实现的原因是,最初,数据存储(称为App Engine数据存储区)仅可从App Engine内部(通过专用RPC API)获得。在Python上,访问此API的唯一方法是通过类似ORM的库(NDB)。正如您在导入中看到的那样,它是App Engine API的一部分。

现在,Google已经通过名为Cloud Datastore API的宁静API在数据存储区之外提供了数据存储区。 gcloud library是一个客户端库,允许从Google Cloud访问不同的其他API,包括Cloud Datastore API。

相关问题