Qu'est-ce que l'UUID v7 ?
UUID version 7 est un identifiant ordonné par le temps de 128 bits défini par RFC 9562, publié en mai 2024. Il se compose de :
- Horodatage Unix: 48 bits d'horodatage Unix en millisecondes
- Données aléatoires: 74 bits de données aléatoires
- Bits de version et de variant: 6 bits pour l'identification du format
Exemple de format: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f
Comment fonctionne l'UUID v7
- Obtenir l'horodatage Unix actuel en millisecondes (48 bits)
- Générer 74 bits de données aléatoires cryptographiquement sécurisées
- Définir les bits de version sur 0111 (version 7)
- Définir les bits de variant sur 10 (norme RFC 4122)
- Assembler en 32 chiffres hexadécimaux séparés par des tirets : format 8-4-4-4-12
Avantages et considérations
| Advantages | Considerations |
|---|---|
|
|
Structure de l'UUID v7
| Bits | Content |
|---|---|
| 0-47 | Horodatage Unix (millisecondes) |
| 48-51 | Version (0111 pour v7) |
| 52-63 | Données aléatoires |
| 64-65 | Variant (10 pour RFC 4122) |
| 66-127 | Données aléatoires |
UUID v7 vs. autres versions
| Version | Basé sur | Cas d'utilisation | Privacy |
|---|---|---|---|
| UUID v1 | Temps + MAC | Identifiants ordonnés par le temps | ⚠️ Révèle l'adresse MAC |
| UUID v3 | Espace de noms + MD5 | Identifiants déterministes | ✅ Privé |
| UUID v4 | Random | Identifiants aléatoires sécurisés | ✅ Privé |
| UUID v5 | Espace de noms + SHA-1 | Identifiants déterministes | ✅ Privé |
| UUID v6 | Temps (réordonné) | Identifiants triables | ⚠️ Révèle l'adresse MAC |
| UUID v7 | Temps + aléatoire | Identifiants triables | Intègre l'heure de génération ; pas d'adresse MAC |
Cas d'utilisation courants
- Clés primaires de base de données: Index efficaces
- Systèmes distribués: Ordonnés par le temps sans coordination
- Applications modernes: Identifiants axés sur la confidentialité
- Microservices: Identifiants triables entre services
- Source d'événements: Identifiants d'événements chronologiques
- Entrepôt de données: Identifiants analytiques ordonnés par le temps
Questions fréquentes
Quel est l'avantage de l'UUID v7 par rapport à v1 ou v6 ?
L'UUID v7 utilise un horodatage Unix en millisecondes et des données aléatoires plutôt que des adresses MAC, offrant une protection de la vie privée tout en conservant la possibilité de trier par temps de génération.
L'UUID v7 est-il une norme officielle ?
Oui. L'UUID v7 est défini par RFC 9562, publié en mai 2024.
Puis-je extraire l'heure de création d'un UUID v7 ?
Oui. L'horodatage Unix en millisecondes peut être extrait des 48 premiers bits et converti en un datetime standard.
Les UUID v7 sont-ils triables par date de création ?
Oui. L'UUID v7 est conçu pour être triable lexicographiquement, l'horodatage Unix occupant les bits les plus significatifs, permettant une comparaison de chaînes directe correspondant à l'ordre chronologique.
L'UUID v7 expose-t-il des informations système ?
L'UUID v7 n'intègre pas d'adresse MAC, mais ses 48 premiers bits révèlent l'horodatage de génération en millisecondes. Traitez ces métadonnées temporelles comme visibles par toute personne recevant l'identifiant.