Comment by dgellow

1 day ago

How confident are you that your machines clocks are in perfect sync? What about the risk of clock drift + correction, or hardware issues?

Not GP, but: not confident. How confident would I be to avoid a (slightly lower entropy) UUID collision while also avoiding a clock desync landing on the exact same logged millisecond? Very, which is how confident I was about not encountering an UUID collision before this thread, so very++ I guess.

I get why sync of mutiple machines matters for ordering and causality, but why is it a problem for uniqueness?

  • I just read UUIDv7, something I wasn't familiar with until now. That does address everything I had in mind yes. I assumed timestamp-uuid meant purely based on the timestamp precision, in which case you can get conflicts if you don't have a reliable clock across your system.

    But UUIDv7 looks pretty awesome:

    > What is a Version 7 UUID made from?

    > unix_ts_ms: 019e0c7bfe93

    > ver: 7

    > rand_a: 0b6

    > var: b

    > rand_b: 55a99e023294673

    So please ignore my previous comment :)