🆔
← Terug naar handleidingen

UUID v4 vs UUID v7 — welke moet je gebruiken?

· Tags: uuid-v7, uuid-v4, rfc-9562, database, primary-key

UUID v7, gestandaardiseerd in RFC 9562 (mei 2024), pakt de grootste zwakte van UUID v4 aan: slechte database-indexprestaties.

UUID v4 (willekeurig)

UUID v4 gebruikt 122 willekeurige bits en 6 vaste bits. Dit garandeert uniciteit zonder coördinatie, maar levert ID's op die willekeurig over de tijd zijn verspreid. Wanneer ze als B-tree-primaire sleutel in een database worden gebruikt, veroorzaken willekeurige ID's paginasplitsingen en indexfragmentatie, waardoor de schrijfprestaties afnemen.

UUID v7 (tijdgeordend)

UUID v7 gebruikt een 48-bits Unix-tijdstempel in milliseconden, gevolgd door willekeurige bits. Het tijdstempelvoorvoegsel maakt UUID's van nature sorteerbaar op aanmaaktijd, waardoor het B-tree-fragmentatieprobleem wordt opgelost. De sleutels zijn nog steeds wereldwijd uniek en kunnen zonder coördinatie worden gegenereerd.

Vergelijking

| | UUID v4 | UUID v7 | |---|---------|---------| | Standaard | RFC 9562 | RFC 9562 | | Sorteerbaar | Nee | Ja (op tijd) | | DB-prestaties | Slecht | Goed | | Uniek | Ja | Ja | | Leakt tijdstempel | Nee | Ja (millisecondennauwkeurig) |

Aanbeveling: Gebruik UUID v7 voor primaire databasesleutels en UUID v4 wanneer je de aanmaaktijd expliciet niet wilt prijsgeven. Probeer beide in onze UUID-generator.

UUID v4 vs UUID v7 — welke moet je gebruiken? - CoolTool