UUID
Universally Unique Identifier
128ビットの識別子の規格
spec
UUIDの主な仕様
バージョン1〜5を定義
新しい仕様(例:UUIDv6〜v8)は IETF でドラフト段階
一部では既に実用されている
e.g. UUIDv7
v1
時間 + MACアドレスによる生成。ソート可能、トレース可。
時系列誘導が必要なケース。ただしMACアドレス漏洩の懸念あり。
v3 / v5
名前空間(UUID) + 名前 → ハッシュ(MD5/SHA-1)で決定的に生成。
同一入力に対して同じUUIDが必要な場面。
完全ランダムで生成
現在最も一般的
一意性と単純さが求められる場面に最適
タイムスタンプ + ランダム
時系列ソートに向いている新世代版
v1/v6の進化版としてデータベースキーに有効
ベンダー独自仕様向けカスタムUUID。
特殊要件がある場合に限定。
よく使われるものGPT-4.icon
v4:ランダムでほとんどの用途に適しており、簡単に生成できるため標準採用多数
v7:ソート可能なUUIDが必要な場合、今後注目のバージョン
使い分けの目安
順序が不要 → v4
順序が必要 → v7(もしくはv1/v6)
同じ名前に対して同じIDを生成したい → v5(v3でもOKだがSHA-1が推奨)
MACアドレスや時間情報漏洩OKなら → v1
独自仕様が必要 → v8
https://gyazo.com/8535d5d76b137b564c41a7306628bba5