[
https://issues.apache.org/jira/browse/PHOENIX-1422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14242054#comment-14242054
]
James Taylor commented on PHOENIX-1422:
---------------------------------------
I like this idea, but I'm skeptical that sequences with all it's options
(http://phoenix.apache.org/language/index.html#create_sequence) such as START
WITH and INCREMENT BY could be supported. My proposal would be to surface this
with a new built-in function like GENERATE_ID() and use cases that only require
uniqueness could use this in a stateless manner. I'll let [~lhofhansl] answer
the question of "What happens if a collision occurs, however unlikely?" :-)
> Stateless Sequences
> -------------------
>
> Key: PHOENIX-1422
> URL: https://issues.apache.org/jira/browse/PHOENIX-1422
> Project: Phoenix
> Issue Type: Improvement
> Reporter: Lars Hofhansl
>
> [~apurtell] and I were chatting yesterday.
> It would be good if Phoenix had stateless sequences, i.e. sequences that give
> out unique ids with (very) high probability.
> We can do that by starting with a timestamp, shifting it left 16 or 24 bits
> left and fill in the new bits with a random number.
> So we're guaranteed to get a new id for each millisecond and within a
> millisecond we break the tie with a random number. If we can make the
> likelihood of duplicate numbers lower than (say) a data center failure, we're
> OK. I would test this with a upsert into x ... select from x ... type query
> inserting 100's of millions of rows.
> Need to think of a syntax too.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)