This is mostly from memory. But the last 12 ? (4096 decimal) bits are a counter 
for the number of id's generated in a particular millisecond for that server. 
You could use the high 4 bits in that range for your data type flags and the 
low 8 for the counter. 

Aaron

On 1/03/2011, at 4:41 AM, Ertio Lew <ertio...@gmail.com> wrote:

> Hi Ryan,
> 
> I am considering snowflake as an option for my usage with Cassandra
> for a distributed application.
> As I came to know snowflake uses 64 bits IDs. I am looking for a
> solution that could help me generate 64 bits Ids
> but in those 64 bits I would like at least 4 free bits so that I could
> manipulate with those free bits to distinguish the two rows for a same
> entity(split by kind of data) in same column family.
> 
> If I could keep the snowflake's Id size to around 60 bits, that would
> be great for my use case. Is it possible to manipulate the bits safely
> to around 60 bits? Perhaps the microsecond precision is not required
> to that much depth for my use case.
> 
> Any kind of suggestions would be appreciated.
> 
> Best Regards
> Ertio Lew
> 
> 
> 
> 
> 
> 
> 
> On Fri, Feb 4, 2011 at 1:09 AM, Ryan King <r...@twitter.com> wrote:
>> You could also consider snowflake:
>> 
>> http://github.com/twitter/snowflake
>> 
>> which gives you ids that roughly sort by time (but aren't sequential).
>> 
>> -ryan
>> 
>> On Thu, Feb 3, 2011 at 11:13 AM, Matthew E. Kennedy
>> <matt.kenn...@spadac.com> wrote:
>>> Unless you need your user identifiers to be sequential for some reason, I 
>>> would save yourself the headache of this kind of complexity and just use 
>>> UUIDs if you have to generate an identifier.
>>> 
>>> On Feb 3, 2011, at 2:03 PM, Aklin_81 wrote:
>>> 
>>>> Hi all,
>>>> To generate new keys/ UserIds for new users on my application, I am
>>>> thinking of using a simple synchronized counter that can keep track of
>>>> the no. of users registered on my application and when a new user
>>>> signs up, he can be allotted the next available id.
>>>> 
>>>> Since Cassandra is eventually consistent, Is this advisable to
>>>> implement with Cassandra, but then I could also use stronger
>>>> consistency level like quorum or all for this purpose.
>>>> 
>>>> 
>>>> Please let me know your thoughts and suggesttions..
>>>> 
>>>> Regards
>>>> Asil
>>> 
>>> 
>> 
>> 
>> 
>> --
>> @rk
>> 

Reply via email to