
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キーなど)では、必ず十分なエントロピーを持つランダム生成器を使用してください。