Yep - one entity group per user sounds good. You are probably not expecting
more than 1 write/second per user. In practice the throughput is a bit
higher, but you should *engineer* for 1 write/second.

Robert's answer is dead on: if you write an entity group all at once in a
single API call, that counts as "1 write a second". You can and should write
hundreds of entities in a single entity group this way.

Ikai Lan
Developer Programs Engineer, Google App Engine
Blog: http://googleappengine.blogspot.com
Twitter: http://twitter.com/app_engine
Reddit: http://www.reddit.com/r/appengine



On Wed, May 25, 2011 at 10:46 AM, Robert Kluin <[email protected]>wrote:

> Hi,
>  Responses inline.
>
>
> On Sat, May 21, 2011 at 11:55, Joops <[email protected]> wrote:
> > Hi all,
> >
> > I have been working on a pet project for a few months (A note/list app
> > - showing an amazing lack of originality). Currently I am the only
> > user who uses it for real.
>
> Damn, you stole my idea... ;)
>
>
> >
> > Currently it is on Master/Slave.
> >
> > I am considering migrating over to HR, but I wanted to check a few
> > things.
> >  - HR has eventual consistency, does that mean I am going to need to
> > be careful to make sure users don't see an inconsitent state?
>
> Possibly.  But, as you seem aware, fetches by key and ancestor queries
> are strongly consistent.  For a note-taking app this is probably not
> an issue, since you've probably got clearly defined entity groups...
> unless you allow cross-user note sharing. ;)
>
>
> > - As I understand it, I could avoid inconsistencies using Entity
> > Groups. So each user could be a root Entity, and then their notes can
> > be their children. Can anyone see a potential problem with this?
>
> Sounds like a logical structure.
>
>
> > - I saw somewhere that there may be a write rate limit on entity
> > groups, so if i was syncronising hundreds of notes from another
> > source... might that cause problems? - could anyone elaborate on their
> > experiance?
>
> Yes, there are write-rate limits on entity groups.  Something in the
> low single-digits per second; I think the docs actually say 1 write
> per second per entity group.  For a notes app, this will probably not
> be an issue.
>
> Presumably if you're syncing from some other source you could easily
> batch your writes.  So instead of sending one note per request, you
> could send ten, twenty, or whatever you can squeeze into the request.
> Then you can do a batch put which will increase your write-throughput
> significantly.
>
>
> Robert
>
>
> >
> >
> > Thanks very much
> >
> > J.
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> [email protected].
> > For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
> >
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to