| ▲ | ekipan 4 hours ago | |||||||||||||
I forget the context but the other day I also learned about Snowflake IDs [1] that are apparently used by Twitter, Discord, Instagram, and Mastodon. Timestamp + random seems like it could be a good tradeoff to reduce the ID sizes and still get reasonable characteristics, I'm surprised the article didn't explore there (but then again "timestamps" are a lot more nebulous at universal scale I suppose). Just spitballing here but I wonder if it would be worthwhile to reclaim ten bits of the Snowflake timestamp and use the low 32 bits for a random number. Four billion IDs for each second. There's a Tom Scott video [2] that describes Youtube video IDs as 11-digit base-64 random numbers, but I don't see any official documentation about that. At the end he says how many IDs are available but I don't think he considers collisions via the birthday paradox. | ||||||||||||||
| ▲ | bricss an hour ago | parent | next [-] | |||||||||||||
There also DRUUID: https://gist.github.com/bricss/53e5babedf44bf3ab71334c15102e... | ||||||||||||||
| ▲ | swiftcoder 3 hours ago | parent | prev | next [-] | |||||||||||||
> [1]: https://en.wikipedia.org/wiki/Snowflake_ID Isn't this just the same scheme as version 1 UUID, except with half the bits? I guess they didn't want to dedicate 128 bits to their IDs. | ||||||||||||||
| ▲ | drchickensalad 3 hours ago | parent | prev | next [-] | |||||||||||||
That also looks like the widely used BSON ids, to anyone else interested | ||||||||||||||
| ▲ | buzzerbetrayed 3 hours ago | parent | prev [-] | |||||||||||||
Getting the entire universe to agree on a single clock for creating timestamps sounds absurdly difficult. Probably impossible? | ||||||||||||||
| ||||||||||||||