Search code examples
perlapache2perl-modulemod-perl2

What is the guaranteed uniqueness in the identifiers generated by the APR::UUID module


The documentation of Data::UUID states that

A UUID is 128 bits long, and is guaranteed to be different from all other UUIDs/GUIDs generated until 3400 CE.

The documentation for APR::UUID describes the generated identifiers as random.

Does this mean that the GUIDs created by APR::UUID are not guaranteed to be unique?


Solution

  • The Wikipedia articles on UUIDs and GUIDs are instructive here.

    UUIDs are random but drawn from such a large distribution that the probabilities of collisions are miniscule, where in this context miniscule means that you are likely to be struck by thousands of asteroids before you generate two identical UUIDs.

    GUIDs are mostly random but also incorporate some deterministic but unique data to your system, such as the MAC address of your network hardware and the current time, so that collisions between a GUID created on another system are even less likely.