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

Andrew Kyle Purtell commented on PHOENIX-1422:
----------------------------------------------

[~kozdemir] I am wondering if you have any thoughts on this. Is this worth 
resurrecting? 

The SYSTEM.SEQUENCE table can hotspot by design because a stateful sequence has 
to be updated with an atomic operation. Even if that update is done such that a 
set of sequences can be handed out in batch. 

> Stateless Sequences
> -------------------
>
>                 Key: PHOENIX-1422
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1422
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Priority: Major
>
> [~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
(v8.20.7#820007)

Reply via email to