Comp150CPA: Clouds and Power-Aware Computing
Classroom Exercise 1
The Google AppEngine Datastore
Spring 2011

group member 1: ____________________________ login: ______________

group member 2: ____________________________ login: ______________

group member 3: ____________________________ login: ______________

group member 4: ____________________________ login: ______________

group member 5: ____________________________ login: ______________

In class we have studied the Java Datastore object in Google Apps. Let's explore a few aspects of this new concept.

  1. Note that only data is marked as persistent in the persistence manager. Why isn't it necessary to mark functions as persistent or not persistent?

  2. Why is it possible to mark some data as not persistent? Give a use case for a private non-persistent data entity, and explain how it might be used.
  3. The primary key of an object store is analogous to a reference, and allows building of persistent data structures whose elements reference other structures. But using this to build a linked list of objects in the normal way one uses in Java -- while it is possible -- is highly discouraged for Cloud applications. Why?

  4. One attribute of the Datastore is that it is not sequential, i.e., items are not guaranteed to be retrieved in the order in which they were created. How must you construct objects in order to handle sequential processing in creation order, e.g., for a guestbook?

  5. (Advanced): Why is the persistence manager implemented via a factory, rather than via a regular Java class?