UUID はどれくらいユニークですか? 質問する

UUID はどれくらいユニークですか? 質問する

UUID を使用して何かを一意に識別するのはどの程度安全でしょうか (サーバーにアップロードされたファイルに使用しています)? 私の理解では、これは乱数に基づいています。ただし、十分な時間があれば、最終的には偶然に繰り返されると思われます。この問題を軽減するための、より優れたシステムまたは何らかのパターンはありますか?

ベストアンサー1

とても安全:

ある人が隕石に当たる年間リスクは 170 億分の 1 と推定されており、これは確率が約 0.00000000006 (6 × 10 −11 ) であることを意味します。これは、1 年間に数十兆個の UUID が生成され、そのうち 1 つが重複する確率に相当します。言い換えると、今後 100 年間、毎秒 10 億個の UUID が生成された後にのみ、重複が 1 つ生成される確率は約 50% になります。

警告:

ただし、これらの確率は、UUID が十分なエントロピーを使用して生成された場合にのみ当てはまります。そうでない場合、統計的な分散が低くなる可能性があるため、重複の確率が大幅に高くなる可能性があります。分散アプリケーションで一意の識別子が必要な場合、多くのデバイスのデータがマージされても UUID が衝突しないようにするには、各デバイスで使用されるシードとジェネレータのランダム性がアプリケーションの存続期間中信頼できる必要があります。これが実現できない場合は、RFC4122 では代わりに名前空間バリアントを使用することを推奨しています。

出典:ランダム UUID 重複確率セクションユニバーサルユニーク識別子に関するWikipediaの記事(リンクは、編集によりセクションが作り直される前の2016年12月の改訂版につながります)。

同じユニバーサルユニーク識別子の記事の同じ主題に関する現在のセクションも参照してください。衝突

おすすめ記事