But by saying that, you agree that it's indeed difficult and it can be implemented in various ways, which actually only lead to one thing: a counter.
If GAE has it built-in, lazy people like me don't have to scratch head to implement one that works efficiently (and keep wondering whether there's better implementation elsewhere), because the wheel is already invented. But I agree that covering all use cases are hard. On Mar 17, 10:49 am, Robert Kluin <[email protected]> wrote: > Implementing a scalable counter is pretty hard, and different uses > have different requirements on the behavior of counters. Some will > apps might demand sequential numbers, others monotonically increasing > (but not necessarily sequential) numbers, some might also need to > support decrementing the counter. There are several techniques you > can use to create a counters, depending on your needs and the traffic > your app gets. I suspect that's why Google does not provide it as > service -- it won't satisfy everyone's needs. > > Robert > > On Wed, Mar 16, 2011 at 22:38, Thomas Wiradikusuma > > > > > > > > <[email protected]> wrote: > > I agree with David. > > > It's a bit "higher level" compared to other GAE services, but from > > application perspective, it's just another plumbing. > > Just like MapReduce in GAE and AppStats, they sit on top of existing > > services, yet they are considered low level for the rest of us. > > > Just my 2 cents :) > > > On Mar 17, 2:52 am, "Ikai Lan (Google)" <[email protected]> wrote: > >> So there are different schools of thoughts on this issue. There are those > >> of > >> us who think that App Engine should be as bare metal as possible,there are > >> those of us who think App Engine should provide every single possible API, > >> and there are people who argue for various positions in between. > > >> I personally think this makes sense as a configurable option or a library, > >> but then that requires that we have a better place to surface App Engine > >> libraries. There are a lot of great libraries today, but even now, it's not > >> obvious to developers how to find Googler maintained projects like App > >> Engine Mapper (http://code.google.com/p/appengine-mapreduce/) or the > >> Pipeline API (http://code.google.com/p/appengine-pipeline/). Don't even get > >> me started on non-Googler maintained projects like Fantasm > >> (http://code.google.com/appengine/articles/fantasm.html). > > >> Ikai Lan > >> Developer Programs Engineer, Google App Engine > >> Blog:http://googleappengine.blogspot.com > >> Twitter:http://twitter.com/app_engine > >> Reddit:http://www.reddit.com/r/appengine > > >> On Tue, Mar 15, 2011 at 10:25 PM, David Keyes <[email protected]> wrote: > >> > Been using gae/j for a while now. One big missing piece IMO is a service > >> > that would allow me to manage global distributed counters. Yes I know > >> > that > >> > there are patterns for doing this (e.g. sharding), but it is such a > >> > common > >> > use case that I think a highly optimized service would be ideal. > > >> > The perfect solution would allow me to have read-only access to the > >> > counters via the datastore. > > >> > Thoughts? > > >> > -- > >> > 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. > > > -- > > 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 > > athttp://groups.google.com/group/google-appengine?hl=en. -- 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.
