I understand your confusion... I have arrived at a specific way of
interpreting this after having gone over Entity Groups and the the way
transactions are implemented within the context of Entity Groups in
App Engine data store.  First some background - You can only transact
across entities that live in the same Entity Group.  An Entity group
has a transaction log that lives at the root entity, which helps
manage all writes to any entities that live in that Entity Group.
All writes to entities within an entity group are serialized. Multiple
simultanous writes to an Entity group can result in some writes
failing and having to be re-tried. Therefore you want to make sure you
are careful of write contention.  Bottom line - know the write
patterns of your application before you finalized your data model
especially with respect to Entity Groups.  With this in mind I think
you will undersand my interpretation of "The rule of thumb is that an
entity  groups size should be the size of a single users worth of data
or smaller."

When you have a user centric application, that user will almost always
be logging in and using the application from one single browser at any
given time. Because of this, there will almost never be contention
between different sessions trying to write to the same entity group.
Since we know the user will be using the application from one browser
at a given time (email application for example), we can expect that
there will be very minimal write contention to that users Entity Group
on the datastore.  With this in mind you can see how I have
interpreted that statement.  If any else has more to add or a better
way to describe this it would be great to hear .... Hopefully this is
helpful....

Thanks
Enrique Perez
Austin, Texas


On Jan 29, 1:52 am, marcdmarc <marcdur...@gmail.com> wrote:
> Hello.  I am not new to app engine, so do I understand completely
> transactions and entity groups, and the idea of rolling forward/
> backward unfinished work is not new to me.
>
> What I am confused about is "The rule of thumb is that an entity
> groups size should be the size of a single users worth of data or
> smaller."
>
> I would like to know if making a users entity group composed of a
> maximum of up to 500 entities in size is okay.  500 seems to me like
> an okay number, but I have no idea what the app engine team
> recommends.
>
> In my case, the 500 entities are composed of data very specific to a
> single user that only they would work on.  This would not include any
> social data entities, such as messages sent back and forth among
> users, as these types of entities could literally number into the tens
> of thousands or even hundreds of thousands for a single user.  So to
> clarify, data such as social messages will not be included in the 500
> entities I am talking about.
>
> If anyone could shed light on this topic, that would be greatly
> appreciated.

-- 
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-appeng...@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