UUIDに関する説明として正しいものはどれか。
解説
UUIDは「Universally Unique Identifier(汎用一意識別子)」の略で、中央のサーバーに問い合わせなくても、各システムが独立に生成するだけで重複がほぼ起きない128ビットの識別子です。連番IDは「誰かが順番を管理する」前提ですが、UUIDはその管理が不要という点が根本的に異なります。また特定の言語やブラウザに限定された機能ではなく、あらゆるプラットフォームで使える汎用的な規格です。URL短縮とも無関係です。UUIDはどんな形をしているか標準的な表記は 550e8400-e29b-41d4-a716-446655440000 のように、32桁の16進数をハイフンで区切った36文字の文字列です。ハイフンの位置は固定で、8-4-4-4-12 の5ブロックに分かれます。なぜ連番ではなくUUIDを使うのか連番IDで問題ない場面も多いですが、UUIDが選ばれるのは主に次のようなケースです。複数のサーバーが同時にIDを発行する: マイクロサービスのように独立したシステム間で番号の重複を気にしたくないときIDの推測を防ぎたい: 連番だと /users/1 /users/2 のようにIDを推測して他人のデータにアクセスされるリスクがあるサーバーに問い合わせずにIDを確定したい: オフライン対応のアプリなど、クライアント側でIDを生成する場面バージョンの違いUUIDにはいくつかのバージョンがあります。実務で最もよく使われるのはv4で、ほぼ全ビットを乱数で生成します。最近はタイムスタンプと乱数を組み合わせたv7も注目されています。v7は時系列順に並ぶため、データベースの主キーに使ってもインデックスが断片化しにくいという利点があります。「とりあえずユニークなIDが欲しい」ならv4、「DBの主キーにも使いたい」ならv7、と覚えておくと実務で迷いにくくなります。