shortuuid.rb
uuid6-ietf-draft
shortuuid.rb | uuid6-ietf-draft | |
---|---|---|
2 | 7 | |
61 | 182 | |
- | 1.1% | |
0.0 | 5.7 | |
almost 2 years ago | 6 months ago | |
Ruby | HTML | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
shortuuid.rb
- New UUID Formats – IETF Draft
-
A Bit Overcomplicated
At the risk of sounding stupid, I have no idea how bit-shifting and bitwise operators work, though I've worked in the field for over a decade and am now a Staff Engineer or whatever. There, I said it.
It's just something I haven't gotten around to reading yet. I suspect some code would be made clearer by it, but even when doing something similar I wound up using the math textbook was to do it even though I suspect the bit operators would be much faster.
https://github.com/sudhirj/shortuuid.rb/blob/master/lib/shor...
https://github.com/sudhirj/shortuuid.go/blob/master/shortuui...
uuid6-ietf-draft
-
The UX of UUIDs
https://github.com/uuid6/uuid6-ietf-draft/issues/27
-
This is very cool! I love this solution for ID’s what do you all think?
Why not UUIDv7?
-
UUIDs Are Bad for Database Index Performance, enter UUID7!
What if a new UUID version could be designed that would take the randomness of UUID4 and combine it with a timestamp prefix? This would make the UUID increase overall, but not locally – due to the random postfix. The random part ensures uniqueness when a high generation rate is necessary and also makes the UUIDs hard to predict – it’s not possible to guess the previous, or next UUID. It’s fairly simple to devise a custom UUID scheme, but fortunately, there is a new Internet-Draft (at the time of writing) defining new pseudo-sequential UUID versions that aim to solve exactly this issue: draft-peabody-dispatch-new-uuid-format-04. The current state and progress can be viewed at IETF Datatracker.
-
Understanding UUIDs, ULIDs and String Representations
Brad Peabody did the original -00 draft, which was discussed as an FYI at an IEFT meeting in March 2020. See [1], around 50 lines from the bottom.
Kyzer Davis has since submitted two further revisions -01 and -02 in April and October 2021. See history in [2].
The current -02 draft is due to expire in April 2022. Presumably Kyzer Davis will try to get it discussed before then.
The GitHub repo tracking these drafts is https://github.com/uuid6/uuid6-ietf-draft/.
[1] https://datatracker.ietf.org/meeting/107/materials/minutes-1...
[2] https://datatracker.ietf.org/doc/draft-peabody-dispatch-new-...
- UUID version 7. It's binary sortable and has many other advantages. Created specifically for modern distributed systems. IETF draft is published, they mid tweaking before publishing v3 draft.
-
New UUID Formats – IETF Draft
At the moment anyway, that XML link won't render per an XML parsing error. For anyone who wants a quick look at what these XML docs look like here's one for UUID6 [0].
[0] https://github.com/uuid6/uuid6-ietf-draft/blob/master/draft-...
What are some alternatives?
spec - The canonical spec for ulid
uuid7 - UUID version 7, which are time-sortable (following the Peabody RFC4122 draft)
ulid-mssql - Implementation of ULID generator For Microsoft SQL Server
Ulid - Fast .NET C# Implementation of ULID for .NET and Unity.
uulid.go - ULID-UUID compatibility library for generating and parsing ULIDs.
ksuid - K-Sortable Globally Unique IDs
lexid - fast lexicographically orderable/sortable ID generator