http://ikaisays.com/2010/06/10/using-the-bulkloader-with-java-app-engine/
necessary concept
Entity && Properties
A data object in the App Engine datastore is known as an entity. Entity have one or more properties. (like table and column in BD)
However, an entities may have different properties. And a propert can have more than one value with mixed type.
A query on a property with multiple values tests whether any of the values meets the query criteria. This makes such properties useful for testing for membership.
Transactions and Entity Groups (basic CRUD)
Entity groups are defined by a hierarchy of relationships between entities. (parent-children relationship tree).
Each entity has a path of parent-child relationships from a root entity to itself (the shortest path being no parent). This path is an essential part of the entity’s complete key. A complete key can be represented by the kind and ID or key name of each entity in the path.
optimistic concurrency: While one app instance is applying changes to entities in an entity group, all other attempts to update the group, either by updating existing entities or creating new entities, fail on commit. using entity groups limits the number of concurrent writes you can do on any entity in that group.
Queries and Indexes
App Engine application defines its indexes in a configuration file (although indexes for some types of queries are provided automatically).
Differences From SQL
Because all queries on App Engine are served by pre-built indexes, the types of queries that can be executed are more restrictive than those allowed on a relational database with SQL. No joins are supported in the datastore. The datastore also does not allow inequality filtering on multiple properties or filtering of data based on results of a sub-query.