UUID / IDジェネレーター
複数形式のユニークIDを生成。一括生成、タイムスタンプ解析、カスタムオプション対応。すべてブラウザ上で動作します。
Tips
UUID v7はデータベース主キーに最適
UUID v7はタイムスタンプを内包し、作成時刻順に自然にソート可能です。完全ランダムなUUID v4がB-treeインデックスでランダムなページ分割を引き起こすのに対し、データベースインデックスのパフォーマンスを大幅に向上させます。
UUID v4の衝突は事実上不可能
With 122 random bits, you would need to generate about 2.7 quintillion UUIDs before having a 50% chance of a single collision. At 1 billion per second, that takes over 85 years.
ULIDはUUIDより短いが同等にユニーク
ULIDはCrockford Base32を使用して、UUIDの36文字に対し26文字に同じ128ビットを収めます。UUID v7同様に時刻ソート可能で、I、L、Oなどの紛らわしい文字を回避します。
NanoIDの長さが衝突リスクを決定する
デフォルトの21文字NanoIDは約126ビットのエントロピーを持ち、UUID v4に匹敵します。短いIDはエントロピーが指数関数的に減少し、10文字のNanoIDは約60ビットしかなく、重要でない用途にのみ適しています。
よくある使い方
データベース主キー
UUID v7またはULIDを時刻ソート可能な主キーとして使用し、分散システム間で調整不要でID生成できます。
URLスラッグとショートID
短縮URL、招待コード、短いIDが好ましい場面でコンパクトなNanoIDを生成します。
イベント追跡とログ
ログ集約や分析パイプライン向けに、時刻順に自然に並ぶユニークなイベントIDを作成します。
分散システム連携
中央機関なしでグローバルにユニークなIDを生成。各ノードが独立して衝突のないIDを作成できます。
オブジェクトストレージキー
ULIDまたはUUID v7をS3やBlobストレージのキーとして使用し、バケット一覧の時系列順序を維持します。
テストデータ生成
テストデータベースの投入やモックAPIレスポンス用に、リアルなユニークIDを一括生成します。