发布于 2016-11-03 21:59:34
Cassandra的timeuuid是一个版本1 UUID,它基于生成UUID的机器的时间和MAC地址。
所用的时间精确到100 is,所以碰撞的几率非常小(1纳米秒是百万分之一毫秒)。
发布于 2016-11-04 08:12:20
Cassandra timeuuid是一个版本1 UUID(类型1 UUID),它基于:
对序列号使用伪随机数提供了16,384个机会中的1,每个UUID类都有一个唯一的id。
如果每毫秒产生超过10000 UUID,那么它们可能会发生碰撞。
1毫秒= 10^6 ns
通过这个,您可以生成10^6 UUID,如果我们采用ns级别的时间戳,但是当我们将时间戳作为100 ns计数时。
我们将在一毫秒内拥有最多10000张独特的时间戳。
现在在一台机器上产生更多的(它将有相同的MAC地址),有机会碰撞ass,我们也需要考虑序列号。
如果应用程序每毫秒生成10000以上,则使用另一列生成有助于避免冲突的复合键。
https://stackoverflow.com/questions/40411451
复制相似问题