Каковы шансы получить один и тот же идентификатор GUID в 1 миллиарде итераций?
Я работаю над проектом, где мне нужно генерировать около 1 миллиарда идентификаторов GUID.
Я знаю, что GUID не гарантированно уникальны, но уникальны почти все время.
Если я создал миллиард идентификаторов GUID, какова вероятность того, что будет совпадение?
Ответы
Ответ 1
http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx
. GUID.NET состоит из
- 60 бит метки времени,
- 48 бит идентификатора компьютера,
- 14 бит уникального идентификатора и
- фиксируются шесть бит
Таким образом, вероятность UUID, указанная Оскаром, здесь не работает. Но если вы создадите все свои 1 миллиард GUID с одного компьютера, нет никакой возможности получить дубликат (за исключением того, что вы играете с часами; -)
Ответ 2
Если вы создаете GUI файлы с одного и того же компьютера и используете один и тот же алгоритм, вы не получите столкновение.
Ответ 3
http://en.wikipedia.org/wiki/Uuid#Random_UUID_probability_of_duplicates
n вероятность
68,719,476,736 = 2 ^ 36 = 0,0000000000000004 = 4 × 10 ^ -16)
2,199,023,255,552 = 2 ^ 41 = 0,0000000000004 = (4 × 10 ^ -13)
70,368,744,177,664 = 2 ^ 46 = 0,0000000004 = (4 × 10 ^ -10)