UUID v4 vs UUID v7
Beide sind 128-Bit-Kennungen nach RFC 9562 (das RFC 4122 im Jahr 2024 ablöste). Version 4 ist im Wesentlichen komplett zufällig; Version 7 legt einen Millisekunden-Zeitstempel in die höherwertigen Bits, sodass IDs nach Erstellungszeit sortieren. Der Unterschied zählt vor allem bei Datenbank-Primärschlüsseln.
| Aspekt | UUID v4 | UUID v7 |
|---|---|---|
| Zusammensetzung | 122 Zufallsbits | 48-Bit-Zeitstempel + 74 Zufallsbits |
| Nach Zeit sortierbar | Nein | Ja |
| Ideal für | Allgemeine eindeutige IDs | Datenbank-Primärschlüssel |
| Verrät Erstellungszeit | Nein | Ja (Millisekunde) |
| Definiert in | RFC 9562 | RFC 9562 |
Was sich mit RFC 9562 änderte
RFC 9562 behielt v1–v5 und ergänzte v6, v7 und v8. Version 7 ist die neue Empfehlung für die meisten Systeme, die sortierbare, eindeutige Schlüssel brauchen, da sie einen Unix-Millisekunden-Zeitstempel mit Zufallsbits für Eindeutigkeit verbindet.
Warum v7 Datenbanken hilft
Zufällige v4-Schlüssel streuen Einfügungen über den B-Tree-Index und verursachen Seitenteilungen und schlechte Cache-Lokalität. Zeitgeordnete v7-Schlüssel werden nahe dem Ende des Index angehängt, halten Einfügungen schnell und den Index kompakt — derselbe Vorteil wie bei Auto-Increment-Ganzzahlen, aber ohne zentrale Sequenz.
Wann v4 weiterhin richtig ist
Nutzen Sie v4, wenn die Erstellungszeit ausdrücklich nicht aus der ID ableitbar sein soll, oder wenn die Reihenfolge irrelevant ist und Sie maximale Entropie wollen. Für öffentliche Kennungen, bei denen ein durchsickernder Zeitstempel unerwünscht ist, bleibt v4 die sicherere Wahl.
Häufig gestellte Fragen
Ist UUID v7 besser als v4?
Für Datenbank-Primärschlüssel ja — die Zeitordnung von v7 hält Indizes effizient. Für undurchsichtige öffentliche IDs, bei denen Sie keine Zeitstempel preisgeben wollen, ist v4 besser.
Sind v4 und v7 beide kollisionssicher?
Ja. Beide enthalten genügend Zufallsbits, sodass Kollisionen in der Praxis astronomisch unwahrscheinlich sind.
Unterstützt der Generator v7?
Der Generator erzeugt UUIDs der Version 4 gemäß RFC 9562. Für zeitgeordnete Schlüssel nutzen Sie eine v7-Bibliothek im Backend; dieser Leitfaden erklärt, wann sich das lohnt.