The whole section on serial number IDs is a bit FUDy in my opinion, especially this: > If you suddenly have a million people who want to buy things on your store, you can't ask them to wait because your sequence generator can't number their order line items fast enough. And because a sequence must store each number to disk before giving it out, your entire system is bottle-necked by the speed of rewriting a number on…
Understanding UUIDs, ULIDs and string representations
101–104 of 104 posts
Re: Understanding UUIDs, ULIDs and string representations
#102Earlier quoted context omitted.
It’s not clear why they don’t just use a finer-grained timestamp component (e.g. nanoseconds) and increase that number if two events are within the same clock interval, and keep the random component random.
The reference implementation is written in Javascript and I don't think that provides a reliable way to get timestamps this fine grained.
Re: Understanding UUIDs, ULIDs and string representations
#103Re: Understanding UUIDs, ULIDs and string representations
#104Author here, self-posted. AMA.
I think Base85 [0] warrants a mention for those needing to minimize the string representation length of their UUIDs. A year ago or so we had to store a reference to one of our entities into a legacy third-party system, which used char(20) as the column size and of course couldn't be changed. Since Base85 encodes a UUID as exactly 20 ASCII characters, it saved me from having to add an extra indirection. (Also, and to…