[ 
https://issues.apache.org/jira/browse/CASSANDRA-9200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14610346#comment-14610346
 ] 

Tupshin Harper commented on CASSANDRA-9200:
-------------------------------------------

An example of an application domain where strictly increasing integers are 
required is the IMAP protocol.
https://tools.ietf.org/html/rfc3501#page-8 where this is mandatory.

{{A 32-bit value assigned to each message, which when used with the unique 
identifier validity value (see below) forms a 64-bit value that MUST NOT refer 
to any other message in the mailbox or any subsequent mailbox with the same 
name forever.  Unique identifiers are assigned in a strictly ascending fashion 
in the mailbox; as each message is added to the mailbox it is assigned a higher 
UID than the message(s) which were added previously.  Unlike message sequence 
numbers, unique identifiers are not necessarily contiguous.}}

Building this kind of system on top of C* today requires an external CP system 
(ick operational complexity), though it is likely the case that the sequences 
here really only need to be modeled as clustering keys and not partition keys.

> Sequences
> ---------
>
>                 Key: CASSANDRA-9200
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9200
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Jonathan Ellis
>            Assignee: Robert Stupp
>             Fix For: 3.x
>
>
> UUIDs are usually the right choice for surrogate keys, but sometimes 
> application constraints dictate an increasing numeric value.
> We could do this by using LWT to reserve "blocks" of the sequence for each 
> member of the cluster, which would eliminate paxos contention at the cost of 
> not being strictly increasing.
> PostgreSQL syntax: 
> http://www.postgresql.org/docs/9.4/static/sql-createsequence.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to