UUID Generator
Understand UUID Generator
Erzeugt Bezeichner nach UUID v4 oder UUID v7, einzeln oder bis zu 100 auf einmal.
How it works
Eine UUID besteht aus 128 Bit, sechs davon sind durch die Felder für Version und Variante festgelegt, womit in einer v4 122 Zufallsbits bleiben – man bräuchte rund 2,7 Trillionen davon, bevor eine Kollision auch nur 50 % Wahrscheinlichkeit erreicht. v4 kommt direkt aus crypto.randomUUID, der Zufall stammt also aus dem CSPRNG der Plattform. Eine v7 ersetzt die führenden 48 Bit durch die aktuelle Unix-Zeit in Millisekunden und füllt die verbleibenden 74 mit Zufall, wodurch sich v7-Werte als einfache Zeichenketten in ihrer Entstehungsreihenfolge sortieren.
When to use it
- Einen Primärschlüssel erzeugen, den ein Client vergeben kann, bevor die Zeile überhaupt an die Datenbank geht.
- Eine Anfrage oder einen Trace kennzeichnen, damit sie über mehrere Dienste hinweg zugeordnet werden können.
- Hochgeladene Dateien benennen, damit zwei Nutzer sich nicht gegenseitig überschreiben.
- Eine Test-Fixture mit realistischen, sicher verschiedenen Bezeichnern füllen.
- v7 für eine Tabelle wählen, in der die Einfügereihenfolge für die Indexgesundheit eine Rolle spielt.
Watch out for
- UUID v4 als Primärschlüssel fragmentiert B-Baum-Indizes. Jede Einfügung landet an einer zufälligen Stelle im Schlüsselraum, das Working Set ist also der gesamte Index statt seines Endes. v7 und ULID hängen wie ein Auto-Increment hinten an und vermeiden das Problem.
- Eine UUID ist nicht erratbar, aber sie ist keine Autorisierung. Wenn ein Objekt für jeden erreichbar ist, der seine ID kennt, dann ist es für jeden erreichbar, der diese URL erhält – prüfen Sie zusätzlich die Berechtigungen.
- UUID v7 veröffentlicht ihren Entstehungszeitpunkt. Der Zeitstempel steht im Klartext im Wert, wer die ID besitzt, weiß also auf die Millisekunde genau, wann der Datensatz angelegt wurde. Nutzen Sie v4, wo das heikel ist.
- Speichern Sie sie als 16 Byte, wo die Datenbank das zulässt. Als char(36) kostet eine UUID mehr als das Doppelte an Platz, und jeder Indexvergleich läuft über eine Zeichenkette statt über Ganzzahlen.
Not the right tool for: Kurze Codes, die ein Mensch vorlesen oder eintippen muss. 36 Zeichen sind viel zum Abschreiben – eine NanoID oder eine zufällige Zeichenkette in der von Ihnen gebrauchten Länge passt besser.
Frequently Asked Questions
Was ist der Unterschied zwischen UUID v4 und v7?
UUID v4 wird zufällig erzeugt und enthält keinen Zeitanteil. UUID v7 ist zeitlich geordnet (lexikografisch sortierbar) und eignet sich damit besser als Datenbank-Primärschlüssel, da die Index-Einträge fortlaufend entstehen.
Wie eindeutig ist eine UUID v4?
Eine UUID v4 hat 122 Bit Zufall. Die Wahrscheinlichkeit einer Kollision beim Erzeugen von 1 Milliarde UUIDs liegt bei etwa 1 zu 800 Millionen – in der Praxis also praktisch ausgeschlossen.
Sollte ich eine UUID als Datenbank-Primärschlüssel verwenden?
UUID v4 kann in Datenbanken zu Index-Fragmentierung führen. UUID v7 oder ULID sind die bessere Wahl, da sie zeitlich geordnet sind und am Ende des Index eingefügt werden.
How to Use UUID Generator
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.