It may be possible to simulate oracle sequence triggers, write some
service
on app engine that returns next number in sequence and every body else
calls
this service.


On Dec 29, 6:30 am, Nichole <nichole.k...@gmail.com> wrote:
> Hi MG,
>
>    Sharded counters help solve the concurrent write contention for an
> entity.
> Time (to the accuracy of milliseconds) helps to provide a one way
> arrow towards a unique value.
> Each request itself could be associated with an identity (this is up
> to you, perhaps time in the request header).
> The combination of all 3 may lead to a guaranteed unique number.
>
> Cheers,
>     Nichole
> (p.s. If you do use sharded counters in your approach, you can
> configure the datastore
> read consistency to be 
> strong:http://code.google.com/appengine/docs/java/datastore/usingjdo.html)
>
> On Dec 28, 8:33 pm, MG <michael.glas...@gmail.com> wrote:
>
>
>
>
>
>
>
> > Yes, keys are unique, but they are strings, and quite long (20+
> > characters, from what I've seen). I do need unique and "growing"
> > numeric counter.
>
> > On Dec 28, 11:20 pm, nischalshetty <nischalshett...@gmail.com> wrote:
>
> > > Have a look at the Datastore "Key" thingy. The keys generated are
> > > unique across the system IMO. Not sure though but that's what I
> > > remember reading somewhere.
>
> > > -N
>
> > > On Dec 29, 7:43 am, MG <michael.glas...@gmail.com> wrote:
>
> > > > Hello!
>
> > > > I need to create a global atomic counter (64-bit) in my AppEngine/J
> > > > app. Like
>
> > > > long count = MyCounter.increment()
>
> > > > that will 100% guarantee that count will never ever be the same for
> > > > two different requests, and that I will be able to increment it
> > > > several million times/day initially, and much more if/when traffic
> > > > increases. I do not really care if it skips a number or two
> > > > occasionally: I can live with it returning a value larger than the
> > > > actual number of calls, but I do need absolute uniqueness and
> > > > reasonably linear growth (i.e. is two consecutive calls from a client
> > > > should result in ascending counter values).
>
> > > > Is this possible to do with Google AppEngine? Sharded counters can
> > > > ensure consistent counting, but not unique counts; memcache counters
> > > > can ensure unique increments, but they are perishable and thus
> > > > difficult (impossible?) to properly synchronize with persistent
> > > > storage. Using one entity to read-update in a transaction will not
> > > > scale...
>
> > > > Thanks,
> > > > MG

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to