Skip to content
développeur

Choisir une version d'UUID — v4 contre v7

L'UUID v4 est aléatoire et idéal pour la confidentialité, tandis que le v7 est ordonné dans le temps et plus adapté aux bases de données. Voici comment choisir la bonne version selon votre cas d'usage.

Les identifiants universellement uniques existent en plusieurs versions. Pour les nouveaux systèmes, le choix pratique se situe généralement entre la v4 et la v7, et la bonne réponse dépend de la façon dont vous les stockez et les triez.

UUID v4 — aléatoire

Un UUID v4 est constitué de 122 bits d’aléa. Il ne contient aucun horodatage et ne révèle rien sur le moment ou le lieu de sa création, ce qui en fait un choix par défaut solide lorsque vous voulez des identifiants difficiles à deviner et qui ne divulguent aucune métadonnée.

Le compromis concerne le tri : comme les valeurs v4 sont aléatoires, l’insertion d’un grand nombre d’entre elles dans un index B-tree disperse les écritures sur tout l’index et peut nuire au débit d’écriture à grande échelle.

UUID v7 — ordonné dans le temps

Un UUID v7 intègre un horodatage en millisecondes dans ses bits de poids fort : les valeurs générées plus tard se trient donc après les précédentes. Cette localité maintient les insertions d’index séquentielles et s’accorde bien avec les clés primaires de base de données.

En contrepartie, une valeur v7 expose son heure de création : elle convient donc mal lorsque l’identifiant ne doit pas divulguer d’information temporelle.

Une règle simple

  • Optez pour la v7 lorsque l’identifiant est une clé de base de données et que les performances d’insertion comptent.
  • Optez pour la v4 lorsque l’identifiant est public et ne doit pas révéler d’horodatage.

Quel que soit votre choix, vous pouvez générer l’une ou l’autre version localement dans votre navigateur et copier le résultat directement dans votre code.

Partager