Of the methods proposed,

a) recursive sequential files

b) latest state file(s) that is updated using a pseudo transaction to give a
range of numbers to allocate

c) just probe zxid

You should be pretty good with any of them.  With (a), you have to be
careful to avoid race conditions when you get to the end of the range for
the sub-level.  With (b), you get results of guaranteed nature although the
highest throughput versions might have gaps (shouldn't bother you).  The
code for this is more complex than the other implementations.  With (c), you
could have potentially large gaps in the sequence, but 64 bits that
shouldn't be a big deal.  Code for that version would be the simplest of any
of them.

On Fri, Apr 24, 2009 at 8:56 AM, Satish Bhatti <cthd2...@gmail.com> wrote:

> Hello Ben,
> Basically the ids are document Ids.  We will eventually have several
> billion
> documents in our system, and each has a unique long id.  Currently we are
> using a database sequence to generate these longs.  Having eliminated other
> uses of the database, we didn't want to keep it around just to generate
> ids.
>  That is why I am looking to use ZooKeeper to generate them instead.

Reply via email to