Was ist UUID und wie funktioniert es
UUID (Universally Unique Identifier) ist ein standardisiertes Format für einen 128-Bit-Identifikator, definiert in RFC 9562 (früher RFC 4122). Die Grundidee ist die Möglichkeit, einzigartige Identifikatoren auf jedem Gerät, zu jeder Zeit zu generieren, ohne die Einzigartigkeit über einen zentralen Server überprüfen zu müssen.
Schreibformat
Eine UUID wird als 32 hexadezimale Zeichen geschrieben, durch vier Bindestriche in fünf Gruppen unterteilt: 8-4-4-4-12. Beispiel: 550e8400-e29b-41d4-a716-446655440000. Das Zeichen an Position 13 gibt die Version an (1–7), und das erste Zeichen der vierten Gruppe bestimmt die Variante (8, 9, a oder b für Standard-UUID).
Warum UUID v4 am beliebtesten ist
UUID v4 verwendet einen kryptographisch sicheren Zufallszahlengenerator (CSPRNG). Von 128 Bit sind 6 für Version und Variante reserviert, sodass 122 Bit Entropie bleiben. Das ergibt 5,3 × 10^36 mögliche Kombinationen. UUID v4 ist weder an Zeit noch Hardware gebunden, was vollständige Anonymität der Generierung gewährleistet.
UUID in Datenbanken
Die Verwendung von UUID als Primärschlüssel hat Vorteile: sicheres Zusammenführen von Daten aus verschiedenen Quellen, Möglichkeit der ID-Generierung auf dem Client ohne Datenbankzugriff, keine Informationen über die Reihenfolge der Erstellung. Nachteile: größerer Speicherbedarf (16 Bytes statt 4–8 bei INT), Index-Fragmentierung bei v4. UUID v7 löst das Fragmentierungsproblem durch den Zeitpräfix.
UUID v7 — neuer Standard
UUID v7, standardisiert in RFC 9562 (2024), vereint die Vorteile von UUID v1 (Zeitsortierung) und v4 (Zufälligkeit). Die ersten 48 Bit sind ein Unix-Timestamp in Millisekunden, der Rest ist zufällig. Das macht v7 ideal für Primärschlüssel in Datenbanken, bei denen die Einfügereihenfolge wichtig ist.