UUID v4 vs v7: zufällige oder zeitlich sortierte IDs

UUID v4 vs v7: Anleitung

UUID v4 vs v7 (und GUID vs UUID): Was du nehmen solltest | We.Inc

Wie sich UUID v7 laut RFC 9562 von v4 unterscheidet, warum zeitlich sortierte IDs gut zu Datenbankschlüsseln passen, was eine GUID ist, und ein Browser-Tool, das v4- und v7-IDs erzeugt und den Zeitstempel einer v7 dekodiert.

Beide sind 128-Bit-Kennungen, geschrieben als 36 Zeichen. Eine v4-UUID besteht aus 122 Zufallsbits, neue Werte landen also irgendwo in einem sortierten Index. Eine v7-UUID beginnt mit einem 48-Bit-Unix-Zeitstempel in Millisekunden, gefolgt von Zufallsbits, daher sortieren sich die Werte ungefähr nach Erstellungszeit. RFC 9562 empfiehlt v7 gegenüber den älteren zeitbasierten Versionen v1 und v6.

v4 und v7 im Vergleich

Die Wahl der UUID-Version ist vor allem eine Datenbankfrage. Zufällige v4-Schlüssel verteilen Einfügungen über den ganzen Index, während v7-Schlüssel der Reihe nach ankommen, so wie eine Auto-Increment-Zahl, ohne dass ein zentraler Zähler nötig ist. Erzeuge unten beide Arten und füge dann eine beliebige UUID ein, um ihre Version und bei v7 den Zeitpunkt ihrer Erstellung zu sehen.

Häufige Fragen

Was ist der Unterschied zwischen einer GUID und einer UUID?

In der Praxis keiner, der zählt. RFC 9562 definiert UUIDs und merkt an, dass sie auch als GUIDs bekannt sind, Globally Unique Identifiers, so der Name in Microsoft-Tools. Eine von .NET oder SQL Server erzeugte GUID ist eine UUID im selben Format mit 36 Zeichen.

Ist UUID v7 ein offizieller Standard?

Ja. RFC 9562, veröffentlicht 2024, definiert die Versionen 6, 7 und 8 neben den älteren und ersetzt RFC 4122, das Dokument, das UUIDs zuvor beschrieb.

Ist UUID v7 eindeutig genug?

Pro Millisekunde stehen 74 Zufallsbits zur Verfügung, was für fast jedes System reicht. Für Kollisionen bräuchte es enorm viele IDs, die in genau derselben Millisekunde erstellt werden.

Kann ich die Erstellungszeit aus einer v7-UUID zurückgewinnen?

Ja. Die ersten 12 Hex-Ziffern sind die Unix-Zeit in Millisekunden. Füge eine UUID in den Decoder oben ein, um sie als Datum zu sehen, oder parse diese Ziffern selbst als Hexadezimalzahl.

Sollte ich bestehende v4-Schlüssel auf v7 umstellen?

Meistens nicht. Beides sind gültige UUIDs und können in derselben Spalte stehen, also können neue Zeilen v7 nutzen, während alte Zeilen ihre v4-Werte behalten. Primärschlüssel umzuschreiben heißt, jeden Fremdschlüssel umzuschreiben, der auf sie zeigt.

Warum die Reihenfolge für Datenbanken wichtig ist

Den Aufbau lesen

Alle acht UUID-Versionen

UUID-Versionen in RFC 9562

Code zum Kopieren

UUID v4 im Browser oder in Node

In aktuelle Browser auf sicheren Seiten und ab Node 19 über das globale crypto-Objekt eingebaut. Gibt einen String mit 36 Zeichen zurück.

UUID v7 ohne Bibliothek

Schreibt die aktuelle Zeit in die ersten sechs Bytes und setzt dann die Versions- und Variant-Bits. Der Rest bleibt zufällig.

Die Zeit aus einer v7-UUID lesen

Die ersten 12 Hex-Ziffern sind Millisekunden seit 1970, ihr Parsen ergibt also ein Date.

Erzeugen und dekodieren

v4 erzeugen

v7 erzeugen

Erzeugt

Klicke auf einen Button, um eine UUID zu erstellen. Sie entsteht in deinem Browser und wird nirgendwohin gesendet.

UUID zum Dekodieren einfügen

Version: {v}

RFC 9562 (die Standardvariante)

Nicht die Variante aus RFC 9562

Erstellt: {v} (UTC)

Diese Version enthält keinen Unix-Zeitstempel.

Das ist keine UUID. Erwartet werden 32 Hex-Ziffern in Gruppen von 8-4-4-4-12.

Das ist die Nil-UUID: Alle 128 Bits sind null.

Das ist die Max-UUID: Alle 128 Bits sind eins.

Kostenlos starten · Keine Kreditkarte nötig

Verwandt: Ratgeber

Produkt

Für wen

Funktionen

Ressourcen

Unternehmen

Sitemap