Wat is het verschil tussen UUID en ULID?
Dirk Jan Laros · 5 minuten leestijd · Gepubliceerd op 22-6-2023

Wat is het verschil tussen UUID’s en ULID’s?

UUID’s en ULID’s zijn beide manieren om unieke ID’s te genereren. UUID’s zijn willekeurige nummers en ULID’s zijn nummers die gesorteerd kunnen worden op basis van tijd. Dit betekent dat ULID’s handig zijn als je data wilt sorteren op basis van tijd. Andere manieren om data ID’s te gebruiken zijn bijvoorbeeld auto-incrementing integers. Laravel gebruikt standaard auto-incrementing integers als primary keys voor Eloquent modellen.

UUID ULID
Willekeurig gegenereerd Gesorteerd op basis van tijd
128-bit nummer bestaande uit 32 hexadecimale cijfers 128-bit nummer bestaande uit 26 tekens (letters en cijfers) en een timestamp
Minder efficiënt dan auto-incrementing integers omdat ze meer ruimte innemen in de database Minder willekeurig dan UUID's omdat ze gebaseerd zijn op tijd

UUID’s en ULID’s worden vaak gebruikt in webapplicaties om unieke ID’s te genereren voor bijvoorbeeld gebruikers, posts of comments. Het voordeel van UUID’s en ULID’s is dat ze uniek zijn en niet afhankelijk zijn van een centrale database die de ID’s genereert. Dit betekent dat je gemakkelijk data kunt samenvoegen van verschillende databases zonder dat er conflicten ontstaan tussen de ID’s.

Een nadeel van UUID’s is dat ze minder efficiënt zijn dan auto-incrementing integers omdat ze meer ruimte innemen in de database. Een nadeel van ULID’s is dat ze minder willekeurig zijn dan UUID’s omdat ze gebaseerd zijn op tijd.

Hieronder vind je codevoorbeelden van hoe je UUID’s en ULID’s kunt genereren in Laravel:

use Illuminate\Support\Str;

// UUID genereren
$uuid = Str::uuid();

// ULID genereren
$ulid = Str::ulid();
Profielfoto van Dirk Jan

Dirk Jan

developer, directeur

Dirk Jan is developer bij en eigenaar van Q2-software.nl. Hij heeft grote passie voor Laravel, front-end en merkidentiteit.

Tags

Samen aan de slag
Of een vraag?

stuur een e-mail naar
info@q2-software.nl
of telefoneer 085 06 06 133