UUID v7 を詳しく知る
最新標準である v7 の内部構造と導入方法を解説します。
構造
先頭 48 ビットに Unix ミリ秒タイムスタンプが入り、続いてバージョン・バリアントのビットと残りの乱数が埋められます。これにより時系列順のソートと一意性を同時に満たせます。
利点
新しい値がインデックスの末尾に順次挿入されるため、ランダムな v4 で起きるページ分割の問題を大幅に減らせます。また ID そのものからおおよその生成時刻が得られるので、ログや並べ替えにも役立ちます。
導入
まだ標準ライブラリで v7 を提供していない言語もあり、別途パッケージが必要になる場合があります。既存の v4 テーブルを移行する際は、新規に生成されるレコードから v7 を適用する段階的な方式が安全です。