UUID・ID生成ツール
新しいデータベースのテーブルにID形式を選ぶとき、自分で生成していないIDに隠れたタイムスタンプを知りたいとき、テスト用にランダム文字列が欲しいとき——ID生成はソート可能性や埋め込み時刻など特定の性質が必要になった途端に単純ではなくなります。ここではUUID・ULID・Snowflake ID・ObjectIdなどを並べて生成・デコードできます。
UUID生成はv1からv7まで対応し、同じ名前から毎回同じIDを作る決定的なv3・v5にも対応します。ULIDジェネレーターは通常のUUIDにはない、生成順に時系列でソートされるIDを作ります。渡されたIDを調べる場合、UUIDデコーダーやSnowflake IDデコード、ObjectId生成が埋め込まれたタイムスタンプを取り出します。
8個のツール
ランダム文字列とタイムスタンプ
UUID / ID Generatorsツールに関するFAQ
UUID v4は完全にランダムで最も一般的なデフォルトです。UUID v7はタイムスタンプを埋め込むためIDがおおよそ生成時刻順にソートされ、v4のランダムな並びよりデータベースのインデックス性能に有利です。UUID生成はv1・v3・v5・v6も含め両方に対応しています。
どちらの形式も構造の中にタイムスタンプを埋め込んでいます。Snowflake IDは先頭のビットにノードIDと一緒に詰め込み、ObjectIdは先頭4バイトがUnixタイムスタンプです。Snowflake IDデコードとObjectId生成はどちらも埋め込まれたタイムスタンプを直接取り出せます。
UUIDは固定長で、一般的なv4形式では完全にランダムで固有の順序がありません。ULIDは先頭の文字にタイムスタンプを符号化しているため、あとから生成されたULIDは単純な文字列比較でも常に前のものより後ろにソートされます。ULIDジェネレーターは同じミリ秒内で作られたIDのための単調増加版にも対応しています。