3 ms·
There are better approaches like pre -avoiding collisions but generating tends to be more expensive than checking.
by erikerikson 5mo ago
There are better approaches like pre -avoiding collisions but generating tends to be more expensive than checking.
- orf 5mo agoIn what world is generating a UUID more expensive than checking for duplicates? at any scale? Walk me through that please
- erikerikson 5mo agoYeah, that was a little sloppy but it's generating is more expensive than not generating. In more words, generating an id and validating uniqueness is more expensive than only validating uniqueness.
- soni96pl 5mo agoUUID is used where checking is difficult, think distributed devices offline at a plantation. How could checking be easier in that case? It would require infrastructure that doesn't exist. There are many other cases where it's easier to handle collisions.
- erikerikson 5mo agoAgreed. While it's an uncommon scenario it is a significant case and UUID shouldn't be used in that case because as you write checking doesn't work well. Better to use an alternative such as coordinate/reserve monotonic producer IDs that get paired with monotonic, per-producer monotonic sequence IDs to produce guaranteed unique, well-ordered IDs. [edit: in IOT it's common to issue x509 certificates as a type of authentication which could be used instead of using producer IDs. Solutions always have to be paired to use case.]
- tommoneytools 5mo agoWild edge case. Curious if they ever found the root cause.
- erikerikson 5mo agoWelcome to Hacker News. I suspect you meant to reply to a different comment. Regardless the most plausible speculation I've read here is that the RNG used to generate the UUID is low quality.