JSON-Formatierer
JSON formatieren, prüfen und minifizieren, mit genauer Fehlerstelle.
Entwicklung
UUIDs der Version 4 und 7 aus der Zufallsquelle des Browsers.
Version 4 ist der bekannte Standard: 122 Bit Zufall, keinerlei Ordnung, keine Rückschlüsse auf Zeit oder Ort.
Version 7 stellt einen Millisekunden-Zeitstempel voran und füllt den Rest mit Zufall. Dadurch sind die Kennungen in der Reihenfolge ihrer Erzeugung sortierbar — was für Datenbanken einen erheblichen Unterschied macht.
Der Grund liegt im Index. Ein B-Baum-Index über zufällige Werte wird an ständig wechselnden Stellen beschrieben, was Seitenteilungen erzwingt und den Cache entwertet. Sortierte Schlüssel werden am Ende angefügt, was deutlich schneller ist. Bei großen Tabellen ist der Unterschied messbar.
Die Kehrseite: Aus einer Version-7-Kennung lässt sich der Erzeugungszeitpunkt auf die Millisekunde ablesen. Wo das ein Problem ist — bei öffentlich sichtbaren Kennungen, aus denen sich Nutzungsmuster ableiten lassen —, bleibt Version 4 die richtige Wahl.
Bei Version 4 stecken 122 Bit Zufall in der Kennung, also rund 5,3 mal 10 hoch 36 mögliche Werte.
Um mit einer Wahrscheinlichkeit von einem Prozent auf eine Dopplung zu stoßen, müsste man etwa 2,7 Billionen UUIDs erzeugen. Wer eine Milliarde pro Sekunde erzeugt, wäre rund 85 Jahre beschäftigt.
Praktisch heißt das: Dopplungen entstehen nicht durch Zufall, sondern durch schlechte Zufallsquellen. Ein Generator auf Basis von Math.random, ein virtueller Rechner mit unzureichender Entropie beim Start, oder eine wiederverwendete Ausgangszahl — das sind die realen Ursachen. Deshalb wird hier crypto.getRandomValues verwendet.
Die kanonische Form sind 32 Hexadezimalziffern in fünf Gruppen: 8-4-4-4-12, getrennt durch Bindestriche.
Die Version steht in der ersten Ziffer der dritten Gruppe, die Variante in der ersten Ziffer der vierten. Bei einer Version-4-UUID steht dort also eine 4 und danach eines von 8, 9, a oder b.
Die Schreibweise in Kleinbuchstaben ist die Norm; Großbuchstaben sind beim Einlesen zu akzeptieren, beim Ausgeben aber unüblich. Microsoft-Systeme schreiben GUIDs traditionell in geschweiften Klammern und in Großbuchstaben — inhaltlich dasselbe.
v4 ist reiner Zufall, v7 beginnt mit einem Zeitstempel und ist dadurch sortierbar — besser für Datenbankschlüssel.
Rechnerisch praktisch nie. Reale Dopplungen entstehen durch schlechte Zufallsquellen, nicht durch Pech.
Ja. GUID ist die Microsoft-Bezeichnung, meist in Großbuchstaben und geschweiften Klammern geschrieben.
Ja, auf die Millisekunde genau. Wo das stört, nimm v4.
Nein. Sie sind eindeutig, aber nicht als Geheimnis gedacht — und v7 ist teilweise vorhersagbar.
Nein. Sie entstehen in diesem Tab und sind mit dem Schließen weg.