|
|
|
Ask HN: Some questions on transitioning to UUID in a large ecosystem
|
|
22 points
by rottyguy
2382 days ago
|
|
We are a large company and have many small systems with disparate key sets that we would like to standardized and would like to use UUIDs for the new global keyset. I have several questions regarding UUIDs if anyone can help with the answers. 1) Are there any issues co-mingling v4 & v5 UUIDs in a single system? We would use v5 to transition the legacy systems to UUID and v4 for generating anything outside the legacy systems (new systems). 2) Per https://tools.ietf.org/html/rfc4122, "A UUID is 128 bits long, and requires no central registration process.". This implies anyone in our ecosystem can generate a UUID and probably never collide. However, are there minimum restrictions on the machine that would generate these UUIDs? For instance, I would imagine a dependable clock (eg one that doesn't reset to 1/1/1970 ever time it restarts) is necessary, but do they all have to be in sync or is some measure of skewing acceptable? Anything else? 3) Is there a list of reliable (future proof) uuid implementations we can use to cover all the major languages or are the standard libraries sufficient for v4/v5 uuid gens? We have a mix of various flavors of *nix and windows in our ecosystem. Thank you! |
|
For a content addressable file system it would be a hash, for another thing it might be an int, for another thing it might be a UUID, etc.
If you need to "validate" the ID is correct then the only way to do that is to contact the Source of Truth. Checking the syntax of the ID doesn't tell you if it is valid. That will introduce use-after-free like conditions in your system.