Guid唯一性在不同的机器上
可能重复:
100%的时间内GUID是唯一的吗?
在阅读关于Guid的所有文章后,我还不清楚一件简单的事情:
不同机器产生的Guids也保持其独特性。
我已经阅读过有关单机上guid的独特性,但我仍然不知道不同机器的独特性
GUID是“实际上” 普遍独特的。
GUID是一个128位整数(16字节),可以在需要唯一标识符的所有计算机和网络上使用。 这样的标识符被复制的可能性非常低。
来自MSDN
一般认为,新的随机GUID将始终是唯一的。 从概率上说,这不是真的,但生成一个愚蠢的可能性非常小,我们不需要关心它。
在5,316,911,983,139,663,491,615,228,241,121,400,000中产生两个相同的指导的概率为1
因此,如果您在100万台计算机上生成100万个指令,则生成副本的几率为:5,316,911,983,139,663,491,615,228中的1个
在10亿台计算机上使用10亿条指令,生成重复数据的几率为:5,316,911,983,139,663,491(即5.3百万分之一)。
这些数字说明了自己,你不会生成一个骗局。
如果你想知道我在哪里得到这些数字,GUID的值部分是122位。 2 ^ 122是5.3169119831396634916152282411214×10 ^ 36
一些更疯狂的数字...
如果您每秒生成1百万个GUID,则需要168,486,464,147,580,370,470,736年来概率性地保证重复。
@viggity提到一些GUID有一个MAC地址占用48位,数字仍然是惊人的,因此承受损失这些位。 以上述每秒200万个指令(在同一台计算机上)为例,仍需598,584,166年才能保证重复。 那是6亿年。 这比地球上的生命还要长。 或者如果你是年轻地球创造论者,那至少是地球寿命的6万倍。
我记得在某个地方,如果您将IPV4地址空间(32位)视为邮票大小,IPV6(128位)就是我们太阳系的大小。 生成一个愚蠢只是不会发生。
此外,如果有什么东西比两台不同的机器更容易获得同一台机器的复制品,因为大多数Guid生成算法会将您的计算机NIC MAC地址嵌入到GUID(它是48位)中。 虽然有算法不嵌入MAC地址,并且只是纯粹随机的。 见:http://guid.us/
编辑:另一个有趣的例子,地球的体积大约是10 ^ 27立方厘米。 这意味着对于地球的整体体积每立方厘米可以拥有340,000,000,000个自身。 这个数字是大得惊人的。
或者,地球表面的每个方形NANOmeter都可以有大约650,000个GUID。
链接地址: http://www.djcxy.com/p/91485.html