UUID v4とv7の使い分け
UUID v4はランダム性を重視した一般的なIDです。UUID v7は時刻情報を含むため、データベースやログで時系列に並べやすく、インデックス効率を意識した設計で選ばれることがあります。
UUID v4(ランダム)と v7(時系列ソート可能、RFC 9562)を生成。 すべてブラウザ内で crypto API による暗号学的乱数で生成され、サーバーには送信されません。
v4: 完全ランダム(122 bit)。汎用的、衝突確率は事実上ゼロ。
💡 UUID について
crypto.getRandomValues / crypto.randomUUID() を使った暗号学的に安全な乱数で行います。Math.random() は使いません。crypto.randomUUID() はセキュアコンテキスト(HTTPS)でのみ動作します。本サイトはHTTPSなので問題なく動作します。UUID Generator は、ランダムな UUID v4 と時系列で並べやすい UUID v7 を生成するツールです。テストデータ、DBレコード、イベントID、分散システムの識別子作成に使えます。
UUID生成はブラウザ内で行われ、生成したIDはサーバーへ送信されません。
UUID v4はランダム性を重視した一般的なIDです。UUID v7は時刻情報を含むため、データベースやログで時系列に並べやすく、インデックス効率を意識した設計で選ばれることがあります。
複数のUUIDを一度に生成してコピーできるため、APIテスト、seedデータ、ダミーレコードの作成をすばやく進められます。
v7を続けて生成して並べてみると、違いが体感できます。たとえば 01a04b75-bee5-7303-... と 01a04b75-bee5-7c8e-... のように、先頭部分が共通し後半だけが変わります。この先頭12桁(例では 01a04b75bee5)は16進のUNIXミリ秒時刻そのもので、10進に直すと 1787972402917、日時に直すと生成した瞬間の時刻になります。つまりv7は文字列として単純にソートするだけで生成順に並びます。v4にはこの性質がなく、生成のたびに値が散らばるため、主キーに使うとインデックスの挿入位置があちこちに飛びます。v7が「DBに優しい」と言われる理由はここです。どちらもバージョン番号は3番目のブロック先頭に入るので、v4なら 4、v7なら 7 が見えるかで判別できます。
作業の流れに近いツールへすぐ移動できます。