UUID v7生成・解析

UUID v7は先頭のバイトにUnixミリ秒タイムスタンプを保存し、一意性のための乱数ビットを残しながら、新しいIDをおおよそ作成時刻順に並べられます。UUID v4の無作為な並びでインデックス局所性が低下するデータベースキー、ログ、イベント、キューなどに便利です。

端末内でまとめて生成できます。既存のUUID v7を貼り付けると、埋め込まれたタイムスタンプを読み取り、移行や調査に使う前に本当にバージョン7かを確認できます。

UUID v7を使う場面

UUID v7は、従来の36文字のUUID表記を保ちながら、新しく追加するレコードを時系列で近くに配置しやすくします。ログやデータベースインデックスを確認しやすくなりますが、順序はシステム時計に依存します。厳密な全体順序が必要な場合は、明示的な連番の代わりにはなりません。

埋め込まれたタイムスタンプからおおよその作成時刻が分かるため、UUID v7は秘密情報ではなく識別子です。サーバーへ問い合わせずに、タイムスタンプ、バージョン、バリアント、乱数部分を解析できます。

関連ツール: UUID生成 · ULID生成