Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Uid] Add support for UUIDv6 #36077

Merged
merged 1 commit into from Mar 15, 2020
Merged

[Uid] Add support for UUIDv6 #36077

merged 1 commit into from Mar 15, 2020

Conversation

@nicolas-grekas
Copy link
Member

nicolas-grekas commented Mar 15, 2020

Q A
Branch? master
Bug fix? no
New feature? yes
Deprecations? no
Tickets -
License MIT
Doc PR -

See https://github.com/uuid6/uuid6-ietf-draft/blob/master/draft-peabody-dispatch-new-uuid-format-00.txt

A v6 UUID is a lexicographically-sortable-v1.
This makes it db-index friendly (same as ULIDs).

For reference:

  • v1 has no benefits over v6 except being in the current official RFC
  • v6 is order-friendly and leaks time data + stable entropy (potentially bound to a MAC address or equivalent)
  • ULID is also order-friendly and leaks time data, with high entropy (crypto random source)
  • v4 is pure crypto random source, aka no order and no leak of anything.
@fabpot
fabpot approved these changes Mar 15, 2020
@fabpot

This comment has been minimized.

Copy link
Member

fabpot commented Mar 15, 2020

Thank you @nicolas-grekas.

@fabpot fabpot merged commit 68dec1a into symfony:master Mar 15, 2020
2 of 3 checks passed
2 of 3 checks passed
continuous-integration/travis-ci/pr The Travis CI build failed
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
fabbot.io Your code looks good.
Details
@nicolas-grekas nicolas-grekas deleted the nicolas-grekas:uuidv6 branch Mar 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.