[ 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)