Qu'est-ce qu'un UUID v8 ?
Un UUID v8 ne fixe que deux choses : le chiffre de version vaut 8, et les bits de variante doivent être corrects. Les 122 bits restants sont libres pour l'application.
C'est le cadre prévu pour les formats qui doivent loger une information précise — un locataire, un indice de nœud ou une heure d'une autre résolution — tout en circulant dans des colonnes UUID sans traitement particulier.
Mode d'emploi
- Indiquez le nombre d'identifiants.
- Cliquez sur Générer : la disposition par défaut de ce générateur remplit les bits libres avec de l'aléatoire.
- Adaptez ensuite le remplissage à votre propre spécification si nécessaire.
Cas d'usage
- Identifiants propres à un éditeur qui doivent rester des UUID valides.
- Formats expérimentaux qui veulent profiter d'une colonne UUID sans migration.
- Protocoles qui logent des champs supplémentaires dans l'identifiant.
Les versions d'UUID en un coup d'œil
| Version | Triable | Basé sur | À utiliser pour |
|---|---|---|---|
| v1 | Non | Horodatage + adresse MAC | Systèmes anciens qui attendent encore du v1 |
| v3 | Non | Hachage MD5 d'un nom | Identifiants déterministes quand MD5 est imposé |
| v4 | Non | 122 bits aléatoires | Presque tous les identifiants d'usage courant |
| v5 | Non | Hachage SHA-1 d'un nom | Quand un même nom doit toujours donner le même identifiant |
| v6 | Oui | Horodatage, réordonné | Des identifiants triables sans renoncer à l'aléatoire |
| v7 | Oui | Temps Unix en millisecondes | Clés primaires de base de données et identifiants d'événements |
| v8 | Non | Votre propre disposition de bits | Formats propres à un éditeur ou expérimentaux |
Les sept versions font 128 bits et s'écrivent toutes dans la forme 8-4-4-4-12. Seule la signification des bits change.
Questions fréquentes
Existe-t-il une disposition v8 normalisée ?
Non, et c'est justement l'idée. La RFC 9562 laisse volontairement l'occupation des bits ouverte : seuls le chiffre de version et la variante sont imposés. Deux systèmes ayant des dispositions v8 différentes ne sont donc pas interchangeables sans documentation.
Les bases de données acceptent-elles le v8 ?
Partout où un type UUID existe, oui : une colonne UUID vérifie la forme, pas le sens.
Quand ne pas utiliser le v8 ?
Quand le v4, le v5 ou le v7 résolvent déjà votre problème. Le v8 ne se justifie que si vous devez réellement loger vos propres informations dans l'identifiant.