UUID / ULID生成
データベース行、イベント、ログ、URL、テスト用データ向けに、1つまたは複数のIDを生成します。
数量:
現在: UUID-V4件数: 0
UUID とは
UUIDは128ビットの識別子で、通常はハイフン区切りの32桁の16進数として表示されます。中央の採番サービスなしで、実用上重複しにくいIDを作るために使われます。
UUID v4(推奨): ランダムに生成されます。一般的なアプリケーションの利用では衝突が極めて起きにくく、データベース行、イベント、テスト用データ、公開オブジェクトIDの標準的な選択肢です。
UUID v1: タイムスタンプとノード関連情報から生成されます。順序性は得やすい一方、時刻やマシン情報が見える可能性があり、公開IDの第一候補にはしにくい形式です。
ULID とは
ULIDはUUIDと同じ128ビットのサイズを保ちながら、辞書順で時刻順に並びやすい識別子です。
時刻順に並べやすい: 生成時刻で自然に並べ替えられるため、インデックスやログの確認に役立ちます。
URL で扱いやすい: Crockford Base32 を使い、I、L、O、U など紛らわしい文字を避けます。
幅広く使える: UUIDと似た用途で使える、コンパクトで十分に一意性の高いIDです。
よくある質問
UUID v4 は衝突しますか?
理論上はあり得ますが、実用的なアプリケーションの利用では無視できるほど小さい確率です。
UUID と ULID のどちらを使うべきですか?
生成時刻で並べたいならULID、最も一般的で対応範囲の広いランダムな識別子が欲しいならUUID v4が無難です。
この生成ツールは安全ですか?
IDはブラウザ内で生成され、サーバーには送信されません。
UUID を秘密トークンとして使えますか?
通常のUUIDを秘密情報として扱わないでください。UUIDはIDであり、認証情報ではありません。パスワード再設定リンク、API key、セッションシークレットには専用の暗号学的トークンを使います。
データベースのレコードに ULID を選ぶ理由は?
ULIDは作成時刻で並べ替えられるため、ログ、イベントストリーム、一部のインデックスを確認しやすくなります。一方で、生成時刻がIDから見えます。