3 ms·
I agree that the spec is a bit messy on this, but monotonicity is not required so in the end it's not a big deal.
by makeworld 2y ago
I agree that the spec is a bit messy on this, but monotonicity is not required so in the end it's not a big deal.
- sedatk 2y agoIt’s a big deal because it causes a semantic confusion: for any ID scheme that claims to be “universal”, users expect pervasive uniqueness without resorting to serialization. The “U” in ULID becomes misleading when devs bump into the monotonic variant. That can lead to hard to detect bugs because conflicts or perf degradation may happen only in production. Bad idea to make it part of the spec. It doesn’t even make sense to have such a scheme in ULID. The only advantage it has over a 64-bit integer is that ULID is 128-bits but, that doesn’t solve any problem or help with anything. It’s just waste, and will cause pain and confusion.