Insert or update can't be strong or eventual consistent. Consistency is 
related to read operation and if every subsequent read will get same last 
inserted/updated values immediately (strong consistency read) 
or eventually (eventual consistency read).

An entity insert with a parent key won't help you with your application 
problem. It will simply insert entity to same entity group tree. But they 
have enabled us in high replication datastore to read entities (within same 
entity group <= parent key usage) with key (or in ancestor query) in strong 
consistent way and they achieved that trough some behind paxos, consensus 
and transactional log 'magic' that you can't replicate in any way to get 
strong standard multiple entity groups query read.

Let's say you insert two entities with same parent key and now they are in 
same entity group. If you now query these entities, only with some standard 
filters, you can't read them in strong consistent way because, query planer 
uses index table and they can be different across different datacenter. But 
if you know parent key (parent entity, etc), you can query these entities 
with ancestor query and read them in strong consistent way. Reason that you 
can use ancestor query is because this kind of query is almost same as 
get_by_key query that can use transactional log magic.

Problem with entity groups are that they have low update per second 
performance and you can very easily get contention problems if you try to 
build large ancestor trees.

Matija

-- 
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