I'm still in a design phase of a new App Engine application and I'm
wondering
if it makes sense to go *without* using any Entity Groups.

My application's data-model is similar to a discussion-forum.
It has Postings, Comments, Users, Ratings and so on. If the application
becomes successful,  there will be significant write operations on
Postings, Comments and Ratings.

If I would model hierarchical *Entity-Groups* (e.g. starting from a
User-Root), I would
have the following *advantages*:
+1:   Transactional behavior during writes
+2:   Queries are strongly consistent
+3:   For hierachical data-structures, fast ancestor queries are available

But *Entity-Groups* introduce also some *disadvantages*:
-1:   Limitation in write throughput   (in worst case just 1 write per
second on an entity group)
-2:   Inflexible and a more complex data-model, which makes it harder to add
or re-factor relationships  (forces "owned-relations" all over your
application)

*I think all together the disadvantages outweigh the advantages for a
typical web application like mine.*
The limitation for writes seems to be a significant disadvantage. Ok, you
can work around this with sharding but this makes
you data-model even more complex.
And an hierarchical data-model which is technically motivated and not
related to your domain seems to be a bad idea.

On the other hand transactions during write operations are often not
necessary ("the last one wins").
Hierarchical searches are not needed most of the time.

The only issue I'm not sure about is the advantage of "Queries are strongly
consistent "?
What does it mean if they are not strongly consistent?
Is this just an issue for a small time frame when new data are written? Once
the data is
stored and replicated this shouldn't be an issue at all, or?

I'm happy about feedback!

Thanks
Mos

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