Was ist UUID v6?
UUID Version 6 ist ein zeitbasierter 128-Bit-Identifikator (36-Zeichen-String), der als Verbesserung zu UUID v1 vorgeschlagen wurde. Er besteht aus:
- Umgeordneter Zeitstempel: 60-Bit-Zeitstempel von den höchstwertigen zu den niedrigstwertigen Bits
- Taktsequenz: 14-Bit-Zähler für Taktanpassungen
- Knoten-ID: 48-Bit-Wert (typischerweise MAC-Adresse)
Formatbeispiel: 1eb527d6-e927-6511-9a03-0242ac130003
Wie UUID v6 funktioniert
- Berechnung des aktuellen Zeitstempels (100ns-Intervalle seit 15.10.1582)
- Umordnung der Zeitstempel-Bits für bessere Sortierung (höchstwertige Bits zuerst)
- Abrufen/Erhöhung der 14-Bit-Taktsequenz (für Eindeutigkeit, falls die Uhr zurückgesetzt wird)
- Abrufen der 48-Bit-Knoten-ID (üblicherweise von der MAC-Adresse)
- Festlegen der Versionsbits (0110) und Variantenbits (10)
- Zusammensetzen als 32 Hexadezimalziffern mit Bindestrichen: 8-4-4-4-12 Format
Vorteile & Überlegungen
Vorteile | Überlegungen |
---|---|
|
|
UUID v6 Struktur
Bits | Inhalt |
---|---|
0-47 | Obere 48 Bits des Zeitstempels |
48-51 | Version (0110 für v6) |
52-59 | Untere 8 Bits des Zeitstempels |
60-63 | Obere 4 Bits des Zeitstempels |
64-65 | Variante (10 für RFC4122) |
66-79 | Taktsequenz (14 Bits) |
80-127 | Knoten-ID (48 Bits) |
UUID v6 vs. andere Versionen
Version | Basierend auf | Anwendungsfall | Privatsphäre |
---|---|---|---|
UUID v1 | Zeit + MAC | Zeitlich geordnete IDs | ⚠️ Offenbart MAC |
UUID v3 | Namespace + MD5 | Deterministische IDs | ✅ Privat |
UUID v4 | Zufall | Sichere zufällige IDs | ✅ Privat |
UUID v5 | Namespace + SHA-1 | Deterministische IDs | ✅ Privat |
UUID v6 | Zeit (umgeordnet) | Sortierbare IDs | ⚠️ Offenbart MAC |
UUID v7 | Zeit + Zufall | Sortierbare IDs | ✅ Privat |
Häufige Anwendungsfälle
- Zeitlich sortierbare Datenbankschlüssel: Für chronologische Sortierung
- Verteilte Datenbanken: Mit zeitlich geordneter Indizierung
- Protokolleinträge: Mit natürlicher chronologischer Reihenfolge
- Prüfpfade: Mit eingebetteten Zeitstempeln
- Nachrichtenwarteschlangen: Für zeitbasierte Verarbeitung
- Transaktionsdatensätze: Mit chronologischer Ordnung
Häufig gestellte Fragen
Was ist der Unterschied zwischen UUID v1 und v6?
UUID v6 ordnet die Zeitstempel-Bits von UUID v1 neu an, um sie natürlich lexikografisch sortierbar zu machen. Der Inhalt ist identisch zu v1, nur neu angeordnet.
Ist UUID v6 ein offizieller Standard?
UUID v6 ist derzeit eine Entwurfsspezifikation im vorgeschlagenen RFC 4122bis-Dokument. Es ist noch kein offizieller RFC-Standard, wird aber in vielen UUID-Bibliotheken implementiert.
Kann ich die Erstellungszeit aus UUID v6 extrahieren?
Ja. Die Zeitstempelkomponente kann aus den Bits 0-59 extrahiert und in einen Datum-Zeit-Wert zurückkonvertiert werden.
Sind UUIDs v6 nach Erstellungszeit sortierbar?
Ja. Im Gegensatz zu v1 platziert UUID v6 die Zeitstempel-Bits in der Reihenfolge von den höchstwertigen zu den niedrigstwertigen, sodass der lexikografische (String-)Vergleich der chronologischen Reihenfolge entspricht.
Legt UUID v6 meine MAC-Adresse offen?
Standardmäßig ja. Wie bei UUID v1 verwenden die meisten Implementierungen die MAC-Adresse für die Knoten-ID. Implementierungen mit Fokus auf Privatsphäre können stattdessen zufällige Knoten-IDs verwenden.