UUIDとは?
開発時にデータに一意なIDを割り振る際によく用いられる。
UUIDには複数のバージョンがあり、UUID v4がよく用いられている。
特徴
550e8400-e29b-41d4-a716-446655440000
UUID v4
- UUID v4は、ランダムな値に基づいて生成される128ビットの識別子
- 生成ごとに完全にランダムな値が生成される
- 衝突可能性も0ではないが、現実的には衝突ので安全に利用できる
UUID v7
- UUID v7は、UUID v4と同様に128ビットのランダムな識別子
- 現在の時刻を表すタイムスタンプに基づいて生成される
- タイムスタンプは、ナノ秒単位の精度まで含まれる
- このため、生成時刻の順序が保証され、生成時刻を基準にソートが可能
ULID
- ULIDとは、UUIDと同様にランダムな識別子
- UUID v4とは違い、先頭48ビットにタイムスタンプを置くことにより、ソート可能
- 1ミリ秒単位でソート順が保証されており、同一の生成器であれば280までソート順が保証される。
それぞれの識別子フォーマット
UUID(Ver.4) 2ec40df6-7587-42ee-bf83-ef97a3e46556 UUID(Ver.7) 018422b2-4843-7a62-935b-b4e65649de3e ULID 01GWKR0SQ0KD0QZ3SHEEAM8YDJ