On Tue, Sep 8, 2009 at 11:21 AM, David Given <[email protected]> wrote:
> > Nick Johnson (Google) wrote: > [...] > > Not true - Transactions can encompass entire entity groups. With the > > correct entity group configuration, you could perform updates on local > > areas of the map transactionally. > > Is it possible to directly access entities in a group other than the > root one? I was under the impression not (but I could well be wrong). > Yes - child entities act in all respects like any other entity, except that they have a parent entity (or entities). > > And I'm afraid it still wouldn't help --- I'd still need synchronisation > between different groups when dealing with multiple areas on the map; > and AppEngine's transactions are optimistic rather than blocking, which > are no use to me. > Presumably transactions across local groups are rarer; there are a number of proposals for distributed transactions on App Engine. You can also use your locking strategy, but restrict that to when you need to do a cross-region transaction, significantly reducing contention. > > In addition the overhead to performing a single database access appears > to be so high that it's *much* faster to read and write the entire > database in two accesses than it is to read parts of it using multiple > queries! Although that may change as the database size grows. > Indeed - with a single entity you're limited to 1MB, and you're reading a lot of superfluous data. If you size your regions right, you can read the whole region with a single query, and write only the changed parts back. -Nick Johnson > > -- > ┌─── dg@cowlark.com ───── http://www.cowlark.com ───── > │ > │ "They laughed at Newton. They laughed at Einstein. Of course, they > │ also laughed at Bozo the Clown." --- Carl Sagan > > > > -- Nick Johnson, Developer Programs Engineer, App Engine --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
