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.