JSON opmaken
JSON opmaken, controleren en samenvouwen.
Ontwikkelaar
Unieke identifiers maken, v4 en v7.
Voor nieuwe systemen is dit de enige keuze die je hoeft te maken, en versie 7 is vaak de betere.
Versie 4 is volledig willekeurig. Twee opeenvolgend gemaakte identifiers hebben geen enkel verband, en dat is precies waarom ze in een database met een geïndexeerde sleutel ongunstig zijn: nieuwe rijen komen op willekeurige plekken in de index terecht, wat de index versnippert.
Versie 7 begint met een tijdstempel in milliseconden, gevolgd door toeval. Daardoor lopen nieuw gemaakte identifiers oplopend, komen ze netjes achter elkaar in de index, en kun je aan de sleutel zien in welke volgorde rijen zijn gemaakt.
De keerzijde van versie 7 is dat het aanmaakmoment af te leiden is uit de identifier. Voor de meeste toepassingen is dat geen bezwaar en soms zelfs handig; wil je dat expliciet niet prijsgeven, kies dan versie 4.
De vraag die altijd terugkomt: kan hetzelfde nummer twee keer voorkomen?
Theoretisch ja, praktisch nee. Een versie 4-UUID heeft 122 willekeurige bits. Het aantal mogelijke waarden is zo groot dat je er miljarden per seconde jarenlang zou moeten maken voordat een botsing een reële kans wordt.
De enige echte risico's zijn een slechte toevalsgenerator of een systeem dat identifiers afkapt tot de eerste tekens. Die tweede komt vaker voor dan je denkt — een korte weergave is prima, maar sla de volledige waarde op.
Deze generator gebruikt de cryptografische toevalsgenerator van je browser, niet de gewone. Dat is het verschil tussen echt onvoorspelbaar en „ziet er willekeurig uit".
Een UUID is 36 tekens met de streepjes. Sla hem waar mogelijk op als een eigen type of als 16 bytes, niet als tekst — dat scheelt ruimte en maakt vergelijken sneller.
Hoofdletters of kleine letters maakt voor de waarde niet uit; de standaard schrijft kleine letters voor bij het uitschrijven. Vergelijk daarom hoofdletterongevoelig, of normaliseer bij het opslaan.
Gebruik een UUID niet als iets wat mensen moeten voorlezen of overtypen. Voor een ordernummer of een klantnummer is een korter, leesbaar formaat beter; de UUID kan intern blijven.
De identifiers worden in je browser gemaakt en nergens vastgelegd.
Versie 7 als ze in een database komen — die sorteren op aanmaaktijd. Versie 4 als je het aanmaakmoment niet wilt prijsgeven.
Theoretisch wel, praktisch niet. Het aantal mogelijkheden is te groot.
Voor weergave wel, voor opslag niet. Afkappen maakt botsingen echt mogelijk.
De standaard schrijft kleine letters. Vergelijk hoofdletterongevoelig.
Ja, via de cryptografische toevalsgenerator van je browser.
Nee.