Was ist der Unterschied zwischen google.appengine.ext.ndb und gcloud.datastore?

8

ndb: (aus google.appengine.ext Import-NDB)

Datenspeicher: (aus gcloud Datenspeicher importieren)

Was ist der Unterschied? Ich habe gesehen, beide verwendet, und Hinweise, dass sie beide Daten in Google Datastore speichern. Warum gibt es zwei verschiedene Implementierungen?

    
invapid 11.09.2016, 23:53
quelle

2 Antworten

7

Der Python NDB-Client ist spezifisch für Python-Anwendungen, die in Google App Engine ausgeführt werden. Der Datastore-Client entfernt diese Einschränkung und Sie können Ihre Python-Anwendung überall ausführen, einschließlich Google App Engine, Google Compute Engine oder anderswo.

Übernehmen Sie das Formular Ссылка

  

Die Google Datastore NDB-Clientbibliothek ermöglicht App Engine Python   Apps für die Verbindung mit Cloud Datastore .

Darüber hinaus verfügt der NDB-Client über bestimmte Funktionen (z. B. Caching), während der andere keine Unterstützung anbietet.

    
Sai Pullabhotla 12.09.2016, 14:19
quelle
1

Der Grund für die beiden Implementierungen ist, dass der Datenspeicher (App Engine-Datenspeicher genannt) ursprünglich nur innerhalb von App Engine (über eine private RPC-API) verfügbar war. In Python war die einzige Möglichkeit, auf diese API zuzugreifen, eine ORM-ähnliche Bibliothek (NDB). Wie Sie beim Import sehen können, ist dies Teil der App Engine-API.

Jetzt hat Google den Datastore über eine restliche API namens Cloud Datastore API außerhalb von App Engine verfügbar gemacht. gcloud library ist eine Client-Bibliothek, die den Zugriff auf verschiedene Rest-APIs von Google Cloud ermöglicht, einschließlich der Cloud Datastore API.

    
dyeray 12.09.2016 15:13
quelle