Je m'interroge sur le format que les UUID sont représentés par défaut dans CouchDB. Alors que la RFC 4122 décrit des UUID comme 550e8400-e29b-11d4-a716-446655440000
, CouchDB utilise des caractères continus comme 3069197232055d39bc5bc39348a36417
. J'ai cherché un peu de temps dans leur wiki et leur documentation sur ce que c'est réellement, mais sans aucun résultat. Savez-vous s'il s'agit d'un format non conforme à la norme RFC en omettant tous les codes -
ou s'il s'agit d'une représentation complètement différente des 128 bits. L'arrière-plan est que j'utilise des UUID Java qui sont formatés comme indiqué dans la RFC. Je vois l'avantage que le style CouchDB est probablement plus pratique pour construire des arbres internes, mais je veux être sûr d'utiliser une implémentation cohérente.UUIDs dans CouchDB
Répondre
Techniquement, nous n'utilisons pas la norme rfc pour les uuids comme vous l'avez remarqué. La version quatre uuids réserve quelque chose comme quatre bits pour spécifier la version d'uuid. Nous ne les formons pas non plus avec les traits d'union généralement observés dans d'autres implémentations.
Les uuids CouchDB sont 16 octets aléatoires au format hexadécimal. Grosso modo, c'est un u4 v4 mais pas conforme à la RFC.
Indépendamment des spécificités, il n'y a vraiment pas beaucoup de problème en pratique. Vous ne devriez généralement pas essayer d'interpréter un uuid à moins que vous n'essayiez de faire une sorte d'analyse hors bande. CouchDB n'interprétera jamais les uuids, nous ne comptons que sur les propriétés de hasard qui y sont impliquées.
La ligne de fond serait de ne pas s'inquiéter à ce sujet et de les traiter comme des chaînes après génération.
Nous vous remercions de votre réponse. –