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.
