Universally Unique Identifiers (UUID) und Datenbankindizierung
Eine UUID (Universally Unique Identifier), auch GUID genannt, ist eine 128-Bit-Kennzeichnung, die für Informationen in Computersystemen verwendet wird. Sie sind für die Identifizierung von Datenbankzeilen von entscheidender Bedeutung, ohne dass ein zentraler, automatisch inkrementierender Ganzzahlserver erforderlich ist.
Das Generieren von UUIDs für sichere API-Tokens oder Sitzungs-IDs erfordert kryptografische Entropie. Dieser Generator nutzt die API „crypto.getRandomValues()“ nativ in Ihrem Browser und generiert RFC 4122-konforme UUIDs der Version 4 vollständig clientseitig.
Formel & Berechnungsmethode
UUID v4 = 32 Hexadezimalzeichen (128 Bit), gesteuert durch kryptografische Pseudozufallszahlengeneratoren (CPRNG)
Eine Standard-UUID sieht so aus: „123e4567-e89b-12d3-a456-426614174000“. In einer UUID der Version 4 ist das 13. Zeichen immer „4“ und das 17. Zeichen ist immer „8“, „9“, „a“ oder „b“.
Best Practices & Tipps
- Vermeiden Sie UUIDs für Clustered-Indizes: Da UUIDs der Version 4 völlig zufällig sind, führt das Einfügen in eine Standard-SQL-Datenbank zu einer massiven Indexfragmentierung. Verwenden Sie sie als Sekundärschlüssel oder verwenden Sie sequentielle UUIDs (ULID/UUIDv7) für Primärschlüssel.
- Verwenden Sie niemals Math.random(): Zufallsfunktionen der Standardprogrammierung sind sehr vorhersehbar. Stellen Sie immer sicher, dass Ihr UUID-Generator eine sichere kryptografische Bibliothek verwendet, um zu verhindern, dass Angreifer zukünftige Sitzungs-IDs erraten.
- Als BINARY(16) speichern, um Platz zu sparen: Das Speichern einer UUID als 36-stellige Zeichenfolge (VARCHAR) verschwendet enormen Datenbankspeicherplatz. Durch die Konvertierung der UUID in eine Rohbinärdatei wird der Speicherbedarf von 36 Byte auf nur 16 Byte reduziert.