English

Google App Engine

The Python NDB API

Experimental!

NDB is an experimental, innovative, and rapidly changing new feature for App Engine. Unfortunately, being on the bleeding edge means that we may make backwards-incompatible changes to NDB. We will inform the community when this feature is no longer experimental.

The NDB API provides persistent storage in a schemaless object datastore. It supports automatic caching, sophisticated queries, and atomic transactions. NDB is well-suited to storing structured data records. It provides an alternative to the App Engine Datastore API. NDB has some features that the Datastore API lacks:

  • The StructuredProperty class, which allows entities to have nested structure
  • Integrated automatic caching, which typically gives fast (and inexpensive) reads via an in-context cache and Memcache
  • Asynchronous APIs which allow concurrent actions (and "synchronous" APIs if you don't need that)

This reference describes the Python NDB API. It has the following sections: