[ https://issues.apache.org/jira/browse/PHOENIX-1422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14242194#comment-14242194 ]
Lars Hofhansl commented on PHOENIX-1422: ---------------------------------------- :) START WITH and INCREMENT BY would not be supported. GENERATE_ID() is nice. On another channel I proposed something like CREATE STATELESS SEQUENCE. As for collisions... It depends how we do it. In theory we could just generate a 64 bit number (or 63 bit maybe). The chances of there being duplicate are lower than a meteor destroying your data center (assuming a good random number generator). Similarly to what is proposed above, it's possible to generate HLC looks like it needs some global state (c as described in the link)? > 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)