Les architectures distribuées nécessitent des identifiants uniques pouvant être générés de façon autonome sans goulet d’étranglement centralisé. Ce standard est l’UUID (Universally Unique Identifier).
1. Structure de l’UUID 128 Bits
Spécifié par la RFC 9562, un UUID compte 16 octets (128 bits) traduits en 32 caractères hexadécimaux répartis en cinq blocs séparés par des tirets :
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx2. Mathématiques de Collision & Sécurité
Avec 122 bits de pur aléa dans l’UUID v4 (environ 5,3 × 10^36 identifiants possibles), il faudrait générer 1 milliard d’UUID par seconde pendant 85 ans pour atteindre 50% de probabilité d’une seule collision.
3. UUID v4 (Aléatoire) vs UUID v7 (Ordonné dans le Temps)
Tandis que l’UUID v4 est strictement aléatoire, le nouveau standard UUID v7 place un horodatage Unix en millisecondes sur 48 bits en tête, garantissant un tri chronologique naturel.
4. Indexation Base de Données & Fragmentation B-Tree
Insérer des UUID v4 aléatoires dans un index B-Tree provoque d’importantes divisions de pages. L’UUID v7 s’insère de manière séquentielle, offrant des performances d’écriture jusqu’à 10 fois supérieures sous PostgreSQL et MySQL.