Hi,

> ...typical single entity Datastore fetch times are
> less than intercontinental IP packet travel times...
> Maybe my assumption that GAE would spin up multiple web processes for
> a single app dispersed around the globe is incorrect...

The first doesn't necessarily imply the second.  Remember that
Datastore is predicated on the assumption that reads will outnumber
writes by a huge margin.  Google makes a big point about writes being
expensive.  I also seem to recall reading somewhere here that although
a transaction is atomic in the sense that it will, as a whole, happen
or not happen, it is NOT guaranteed that a read immediately following
the transaction will see the updated data.  That sounds a lot like a
replication delay to me.

So I could be talking completely through my hat, but I'd bet that
somewhere there's an authoritative copy of your data (and that the
authoritative copy can move around), but that reads are usually coming
from local slaved copies, not from the authoritative copy.  And taking
it a step further, I bet that works at at *least* the entity level,
not the application level, so the authoritative copies of your
Thingies may be in a completely different place than the authoritative
copy of your Whatsits.  (Otherwise, I don't think we'd have this
entity group transaction business.  If the whole authoritative copy
were in one place, we'd be able to have much more flexible
transactions in terms of what entities we could enroll in them.)

I'd also suspect you won't get a definitive answer for how things are
laid out under-the-covers from Google, because they need to keep their
implementation options open.

FWIW (which may be very little indeed),
--
T.J. Crowder
tj / crowder software / com
Independent Software Engineer, consulting services available


On Apr 21, 9:56 pm, javaDinosaur <jonathan...@hotmail.co.uk> wrote:
> > I cant find the reference now, but the Datastore (and even memcache I
> > beleive) works as a single global 'entity', there is only one.
>
> I agree that from an API usage perspective the Datastore is a single
> global resource but typical single entity Datastore fetch times are
> less than intercontinental IP packet travel times which indicates that
> an App's web process and its associate data storage are geographically
> close.
>
> Maybe my assumption that GAE would spin up multiple web processes for
> a single app dispersed around the globe is incorrect. Perhaps each GAE
> app has a semi permanent geographic affinity for web and data tiers
> which eliminates the update uncertainty I alluded to in my original
> post.
--~--~---------~--~----~------------~-------~--~----~
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