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.
