I got the contention errors, during my first run, using a
ReferenceProperty to link a Note to a Device (not a parent).  Only
after I watched Brett's presentation did I add the device group entity
and parent=device code.

Adding the device group entity and parent=device code, seems to have
solved the "too much contention for these entities" problem.

Quote From 'Keys and Entity Groups':
http://code.google.com/appengine/docs/python/datastore/keysandentitygroups.html#Entity_Groups_Ancestors_and_Paths
"The more entity groups your application has—that is, the more root
entities there are—the more efficiently the datastore can distribute
the entity groups across datastore nodes."

Brett does a great job of describing this in his presentation:
http://sites.google.com/site/io/building-scalable-web-applications-with-google-app-engine

For me, having all the notes from a device grouped together on a
datastore node is great.  I process the notes in sequence, but, I'd
like to process the devices in parallel.  This is where I'm looking
for scalability, across the devices.  I need to inform the App Engine
that its ok to process these (notes) in sequence, but handle these
(devices) in parallel.  Making the device group entity seems to have
done that.

Thank you for your help,
-David Story
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to