3 ms·
Naive question: what techniques are used for reliably generating UUIDs? Can you do it without giving each machine a unique identifier first?
by gruseom 13y ago
Naive question: what techniques are used for reliably generating UUIDs? Can you do it without giving each machine a unique identifier first?
- rdtsc 13y agoThe are a few types of standard UUIDs. https://en.wikipedia.org/wiki/UUID https://en.wikipedia.org/wiki/UUID UUID1 and UUID4 are common. UUID1 are the ones that use machine id and timestamp. UUID4 are supposed to be randomly generated. UUID1 can be traced to a machine that created them and are sortable somewhat, UUID4s are nice because you don't have to worry if machines somehow ended up with non-unique machines (bad VM cloning can easily do that). I would just use UUID4 for example.
- gruseom 13y agoThanks. That description says: Version 4 UUIDs have the form xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx where x is any hexadecimal digit and y is one of 8, 9, A, or B What is the purpose of the 4 and y?
- alex-g 13y agoVersioning. The 4 says it is "version 4" in the RFC 4122 taxonomy, and the fact that the first two bits of y are "10" is meant to indicate that this is a UUID following that standard. Certain Microsoft GUIDs start with "110" in that field, and apparently there's another legacy format (Network Computing System) characterized by the first bit of y being "0". Therefore, an RFC 4122 compliant UUID will not overlap with either of these namespaces.
- lmm 13y agoJust generate random UUIDs. The probability of their colliding is negligibly low.