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のプライマリキーとしてインデックス効率を高めたい場合。
  • ファイル名や一時トークンの一意識別子として活用。

ULID生成ツール

生成条件

生成結果

1