On Sat, Aug 18, 2012 at 8:59 PM, pphalen <[email protected]> wrote:
>> Apps with a lot of rapidly mutating aggregation are hard.
>
> Hi, I'm new to app engine, so this is news to me. Could you please
> characterize a bit more? E.g., what is "a lot"?

Nothing in the datastore can change faster than once per second;
imagine trying to keep a count of products sold when you're selling
hundreds per second.  Sharding helps but it becomes tricky to get the
value in a timely manner when you get to hundreds of shards.  If you
need a transactionally accurate count (say, you are selling N units
and you must not sell N+1 units) this becomes even harder - you have
to go out of the datastore to another tool like memcache increment().

There are other data storage technologies that are optimized for rapid
updates to atomic data.  Redis, Mongo, and of course traditional
RDBMSes solve this problem pretty easily for most typical scaling
needs.  There isn't an equivalent tool in the GAE toolbox.  This
doesn't mean you can't use GAE even if your app does some of this
aggregation... but if you do a lot of it, the platform works against
you rather than for you.

Jeff

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