Question

Pour baliser les données que nous créons, nous envisageons d'utiliser uuids. La sécurité n'est pas un problème, j'allais donc utiliser la version 1 (basée sur la date et l'adresse mac). Le seul problème est que chaque utilisateur peut créer plusieurs fichiers de données à la fois à partir de processus différents avec plusieurs threads. En supposant que la bibliothèque uuid de Python soit thread-safe (bien qu'elle n'en ait pas l'air), cela laisse toujours le problème du processus multiple. J'envisage de suffixer l'uuid avec un tiret et le numéro de processus.

Étant donné que notre groupe a peu d’expérience dans le domaine des uuides, y at-il des problèmes à garder à l’esprit? Comment le problème des processus multiples est-il généralement traité?

Était-ce utile?

La solution

Utilisez simplement uuid4 pour des UUID complètement aléatoires. Il n'y a pas besoin de s'inquiéter des collisions.

modifier en réponse à un commentaire : d'après mon expérience, les données redondantes entraînent tôt ou tard des incohérences. Il y a une raison pour laquelle éviter la redondance est un dogme de la conception de bases de données relationnelles.

N'utilisez donc pas l'UUID comme une "sauvegarde de redondance". pour l’ordinateur "d'origine" " et " horodatage " Les données. Utilisez-le comme un identifiant unique pur ne portant aucune autre information ou ne l'utilisez pas du tout.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top