UUID の重複する可能性
UUIDは、分散システム上でどこかが統制を取らずとも、一意に特定可能な識別子の作成を目的としており、UUIDは重複や偶然の一致が起こりえないと確信して用いることができる。
UUID - Wikipedia
という。しかしながら、高々 122 ビットで表される数値*1である以上、生成し続ければ確実に重複する。
では、それがどれぐらいの確率なのか。
その説明は UUID Wikipedia 英語版に記載されている。英語だったり数式があったりしてわかりづらいが、説明の一部を訳してみたので、重複しない感が多少は分かるかと思う。
例 1
- 1 兆個 UUID を生成
- 生成した UUID が重複する確率より、隕石が頭に降ってくる確率のほうが高い
例 2
- 100 年間、毎秒 10 億の UUID を生成し続ける
- その後、UUID をひとつ生成
- 生成した UUID が過去のものと一致する確率は約 50%