UUIDv7
先頭にミリ秒のタイムスタンプを置き、残りを乱数で埋める UUID の一種。2024年に RFC 9562 で標準化された。世界中で一意でありながら、生成順に並ぶ識別子が得られる。
解決する問題は具体的だ。UUIDv4 は完全にランダムなので、新しい行が主キーの B木の任意の位置に挿入される。挿入が索引全体に散らばり、ページ分割が起き、キャッシュヒット率が落ち、索引も必要以上に膨らむ。数百万行の規模で既に目立つ問題である。v7 なら新しい行は連番と同じく木の右端に集まる一方、識別子はクライアント側で調整なしに生成できる。代償は、キーから作成時刻が読み取れてしまうことで、これが望ましくない場面もある。同じ発想の先行例に ULID と Snowflake ID がある。