# Overview A UUID is... #flashcard A 128-bit label used to create unique identifiers within computer systems. They are designed in a way that aims to ensure uniqueness across any UUID generated, no matter by whom. <!--ID: 1751507776925--> ![[2024-12-16_Universally Unique ID (UUID)-1.png]] # Key Considerations ## Versions of UUID #flashcard | Version | Input | Generation Approach | Use Case | | ------- | ----------------------------------------------- | ----------------------- | ----------- | | UUID1 | Timestamp + Counter + [[MAC Address]] | Concatenation of Inputs | | | UUID2 | Reserved for Security IDs with no known details | - | - | | UUID3 | User Provided Input + MAC Address | [[MD5]] hash of inputs | | | UUID4 | - | Randomly Generated | Most Common | | UUID5 | User Provided Input + MAC Address | [[SHA1]] hash of inputs | | | UUID6 | | | | | UUID7 | | | | | UUID8 | | | | <!--ID: 1751507776927--> # Pros of UUID #flashcard - Globally unique - [[stateless]] <!--ID: 1751507776930--> # Cons of UUID #flashcard - Not human readable - Can hurt insertion performance - Takes up additional memory compared to some other IDs <!--ID: 1751507776932--> # Use Cases of UUID - Keys in [[Databases]] - [[File Systems]] # Related Topics - [[Universally Unique Lexicographically Sortable Identifier (ULID)]] - [[Collision Resistant Unique Identifier (CUID)]]