生成結果
生成結果
| 1 |
ULID生成ツールについて
ULID生成ツールについて
概要
ULIDジェネレーターは、Universally Unique Lexicographically Sortable Identifier(ULID)を生成するオンラインツールです。UUIDの代替として、時系列ソート可能な一意識別子を一括生成できます。
使い方
- 1生成件数を指定します。
- 2「基準日時(タイムスタンプ)」に基準となる時刻(ミリ秒)を設定します(デフォルトは現在時刻)。
- 3同一ミリ秒内でも値を単調増加させたい場合は「単調増加」を有効にします。
- 4「生成」ボタンをクリックします。
仕様・用語解説
- ULID仕様: 128ビット=48ビットのタイムスタンプ(ミリ秒精度)+80ビットのランダム値で構成されます。Crockford's Base32でエンコードされた26文字の文字列(例:
01ARZ3NDEKTSV4RRFFQ69G5FAV)です。 - 辞書順ソート: ULIDの先頭10文字が時刻を表すため、辞書順ソート(文字列比較)がそのまま時系列ソートになります。DBインデックスの局所性が高まりパフォーマンスが向上します。
- 「単調増加」機能: 同一ミリ秒内に複数のULIDを生成した場合、ランダム部分をインクリメントして単調増加を保証します。イベントの順序を厳密に保持したい場合に使用します。
- UUIDとの比較: UUID v4はランダムな文字列のため辞書順ソートに時系列の意味がありませんが、ULIDは辞書順ソート=時系列ソートになります。RDBMSのクラスタードインデックスで特に有効です。
- Crockford's Base32: I, L, O, U を除外した32文字セットを使用。視覚的に紛らわしい文字を排除し、人間が読みやすい形式にしています。
ユースケース
- 時系列順のログIDやイベントIDの生成。
- RDBMSのプライマリキーとしてインデックス効率を高めたい場合。
- ファイル名や一時トークンの一意識別子として活用。
- UUID v7との比較検討。どちらも時系列ソート可能だが、ULIDはCrockford's Base32で26文字、UUID v7はハイフン区切りの36文字という違いがある。