sebsauvage.net

Ce site n'est pas le site officiel.
C'est un blog automatisé qui réplique les articles automatiquement

Update

Updating database... Please wait.

sudhir.io/uuids-ulids

Wednesday 5 January 2022 at 12:16

Les UUID sont pratique pour générer des identifiants uniques, mais vous n'avez plus la possibilité de les trier à cause de leur caractère totalement aléatoire.
L'auteur de l'article propose la chose suivante: sur les 128 bits de l'UUID, on utilise les 48 premiers bits pour encoder la date, jusqu'à la microseconde, et on utilise les 80 bits restants pour l'aléa.
Avec 48 bits pour la date, on a quand même une limite: l'année 10899.

L'avantage d'y inclure la date est qu'on peut ainsi trier, ordonner les UUID par leur date de création. On imagine que cela pourrait être utile pour de l'archivage de données, ou par exemple pour partitionner une base de données.

Bien sûr, les 80 bits restants (au lieu de 128) augmentent le risque de collision, mais pour augmenter réellement le risque de collision il faudrait générer 1,208,925,820,000,000,000,000,000 de ces UUID dans la même microseconde. Le risque reste donc faible.
(Permalink)

Source: https://sudhir.io/uuids-ulids


Error happened ! 0 - SQLite3::exec(): database disk image is malformed In: /home/dotmanacac/dotmana/streisand/sebsauvage/index.php:286 http://www.dotmana.com/streisand/sebsauvage/?sudhir-io-uuids-ulids #0 [internal function]: exception_error_handler(2, 'SQLite3::exec()...', '/home/dotmanaca...', 286, Array) #1 /home/dotmanacac/dotmana/streisand/sebsauvage/index.php(286): SQLite3->exec('DELETE FROM upd...') #2 /home/dotmanacac/dotmana/streisand/sebsauvage/index.php(451): VroumVroum_Blog->log_update(true, '27 elements upd...') #3 /home/dotmanacac/dotmana/streisand/sebsauvage/index.php(792): VroumVroum_Blog->update() #4 {main}