DevToolKits.app
Article

UUID (Universally Unique Identifier) の基礎知識:種類と使い分け

UUIDとは何か、v1, v4, v7といった各バージョンの違い、DB主キーへの利用、ランダム性の重要性についてエンジニア視点で解説します。

UUIDのイメージ

UUIDとは?

UUID (Universally Unique Identifier) は、ソフトウェア構築において、情報を一意に識別するための128ビットの識別子です。

中央の管理機構なしで、分散システム上でも重複の可能性が極めて低い ID を生成できるのが最大の特徴です。

主要なバージョンの違い

UUIDにはいくつかのバージョンがありますが、現代のシステム開発でよく使われるのは以下の3つです。

1. Version 4 (ランダム)

最も一般的に使用される形式です。122ビットのランダムな値から構成されます。

  • 特徴: 予測不可能で、生成が容易。
  • 用途: セッションID、ユーザーID、一時的なトークンなど。

2. Version 7 (Unix Epoch timestamp + ランダム)

比較的新しい(2024年に標準化された)形式で、先頭にタイムスタンプを含みます。

  • 特徴: 時系列順に並ぶ(ソート可能)。
  • 用途: データベースの主キー (PK) に最適。B-tree インデックスの効率を落とさずに一意性を確保できます。

3. Version 1 (タイムスタンプ + MACアドレス)

生成したマシンのMACアドレスと、生成時刻を組み合わせて作られます。

  • 特徴: 生成場所と時刻を特定できる。
  • 用途: 古いシステムや、特定のデバイスでの一意性が必要な場合。

DB主キーとしてのUUID vs 連番ID

特徴連番 (Auto Increment)UUID (v4)UUID (v7)
分散環境困難(同期が必要)容易(疎結合)容易(疎結合)
予測可能性高い(攻撃に弱い)低い(安全)低い(安全)
ソート順登録順バラバラ登録順 (時系列)
DB負荷低い高い低い(v4より効率的)

DevToolKitsで生成する

当サイトの UUID生成ツール では、一括で複数のUUIDv4を生成し、ワンクリックでコピーできます。開発中のテストデータ作成などにぜひご活用ください。

💡 ヒント: セキュリティが重要な用途(APIキーなど)では、必ず十分なエントロピーを持つランダム生成器を使用してください。

関連ツール

広告

広告