Google App Engine

Mastering the datastore

Unlike most other web application development environments, App Engine's data storage service is not based on a relational database management system. Instead, App Engine's datastore (Python | Java) is built on top of Bigtable, and this will likely require you to re-think the methods that you have traditionally used when modeling and querying for data.

In this article series, we aim to provide information supplementary to the datastore documentation that should help provide a better understanding of how the datastore works, how to deal with issues related to using a distributed storage system, and provide best practices on techniques to model and retrieve your data. The articles in this series include:

Life of a Datastore Write
Learn everything that occurs behind-the-scenes when an entity is written to the datastore
Transaction Isolation in App Engine
Explains how concurrent reads and writes behave both in and outside of transactions
How Index Building Works
Explains the back-end processes used to build and delete composite indexes
How Entities and Indexes are Stored
Provides detailed descriptions of the Bigtables used to store entities and indexes
Modeling Entity Relationships
Explains the basics of modeling entity relationships
Updating Your Model's Schema
Discusses strategies for updating datastore schemas
Handling Datastore Errors
Learn why datastore errors occur and how to deal with them
Index Selection and Advanced Search
Learn how recent improvements to the query planner have made exploding indexes a thing of the past and how to implement an "advanced search" function in your application.