DEV Community

Allison Piovani
Allison Piovani

Posted on

3 2

UUID

Universally Unique Identifier or GUID Globally Unique Identifier which in practice it's the same thing.

It's composed by 128 Bits represented by 32 digits Hexadecimal, divided by 5 groups separeted by "-" with struct: 8-4-4-4-12.

The goal identify unique information in the System, whithout a central chord.

Exist 5 versions, the first digit from third batch, is separated to identify the version of UUID.


Versions

v1
Uses timestemp to generate the UUID, also can use NodeID which is an identifier, usually for that MAC of the computer, or URL or prefixed data key.

v2
Very similiar to v1, but the use of NodeID is mandatory to present a security group, this group may be related to entities or some context of the application. But veru little used.

v3 and v5
It also use NodeIDas prefix. In v3 is used an MD5 hash key, while in v5 a has key of the SHA-1 algorithm is used, this second being more advised for development.

v4
It is the most used version, in this case all characters are randomly generated.


Benefits

  • It's also a form of information security, the ID format increment informs how many users there may be on the plaform, important information for competitiros;

  • Greater security if you don't have Authorization control in the application.

Disadvantages

  • Makes debugging records more complex;

  • Increase in the cost of storage, storing in string format, char(32) can make the performance of queries quite heavy, a solution is to store in binaries;

  • Must have a position rule, since the collision is possible.


Go

Inside Go we have a lot of packages that press UUID, but in this demo we will use the official google package Package, in addition to supporting all of the above versions. The project link is here: Project

Image of Datadog

The Future of AI, LLMs, and Observability on Google Cloud

Datadog sat down with Google’s Director of AI to discuss the current and future states of AI, ML, and LLMs on Google Cloud. Discover 7 key insights for technical leaders, covering everything from upskilling teams to observability best practices

Learn More

Top comments (0)

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit