UUID-v7-Generator

Erzeugen Sie eindeutige UUID-Bezeichner in Version 7, die einen Zeitstempel enthalten und sich dadurch ganz natürlich chronologisch sortieren lassen – praktisch als Primärschlüssel einer Datenbank. Die Berechnung nutzt die kryptografische API Ihres Browsers, nichts wird an einen Server gesendet.

Ergebnisse

So funktioniert es

Anders als die vollständig zufällige UUID v4 legt die UUID v7 die ersten 48 Bits des Bezeichners auf den Unix-Zeitstempel in Millisekunden, gefolgt von 74 kryptografisch sicheren Zufallsbits. Das Ergebnis: Zwei im Abstand von wenigen Sekunden erzeugte UUID v7 liegen in der lexikografischen Ordnung nah beieinander, was die Einfügeleistung in einem Datenbankindex (B-Baum) gegenüber einer völlig verstreuten UUID v4 verbessert.

Warum UUID v7 statt UUID v4 als Primärschlüssel bevorzugen?

Eine zufällige UUID v4 verursacht bei Masseneinfügungen eine starke Fragmentierung der B-Baum-Indizes, da jeder neue Bezeichner an einer unvorhersehbaren Stelle des Baums landet. Die UUID v7 hingegen steigt mit der Zeit an wie ein klassischer Auto-Increment-Bezeichner, behält aber den Vorteil, dass sie clientseitig ohne Abstimmung mit der Datenbank erzeugt werden kann.

Lässt sich das genaue Erstellungsdatum aus einer UUID v7 ermitteln?

Man kann den in den ersten 48 Bits kodierten Zeitstempel in Millisekunden auslesen und so Datum und Uhrzeit der Erzeugung des Bezeichners (auf die Millisekunde genau) ermitteln. Wenn diese Information in Ihrem Kontext sensibel ist, bevorzugen Sie eine klassische UUID v4, die keinerlei Zeitdaten preisgibt.

100% lokale Verarbeitung: Jeder Bezeichner wird in Ihrem Browser über crypto.getRandomValues berechnet, ganz ohne Netzwerkanfrage.