UUID v6 Generator – Sortierte zeitbasierte UUIDs erstellen

Online-generieren von sortierten, zeitbasierten UUIDs Version 6. Erstellen Sie nach Zeit geordnete UUIDs für eine optimale Datenbank-Indizierung und Sortierung.

Versuchen Sie diese Beispiele:

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

  1. Berechnung des aktuellen Zeitstempels (100ns-Intervalle seit 15.10.1582)
  2. Umordnung der Zeitstempel-Bits für bessere Sortierung (höchstwertige Bits zuerst)
  3. Abrufen/Erhöhung der 14-Bit-Taktsequenz (für Eindeutigkeit, falls die Uhr zurückgesetzt wird)
  4. Abrufen der 48-Bit-Knoten-ID (üblicherweise von der MAC-Adresse)
  5. Festlegen der Versionsbits (0110) und Variantenbits (10)
  6. Zusammensetzen als 32 Hexadezimalziffern mit Bindestrichen: 8-4-4-4-12 Format

Vorteile & Überlegungen

VorteileÜberlegungen
  • Lexikografisch sortierbar
  • Eingebettete Erstellungszeit
  • Hochleistungsgenerierung
  • Verteilte Generierung
  • Bedenken zur MAC-Adress-Privatsphäre
  • Probleme bei der Taktsynchronisation
  • Vorhersehbarer als zufällige UUIDs
  • Status als Entwurfsspezifikation

UUID v6 Struktur

BitsInhalt
0-47Obere 48 Bits des Zeitstempels
48-51Version (0110 für v6)
52-59Untere 8 Bits des Zeitstempels
60-63Obere 4 Bits des Zeitstempels
64-65Variante (10 für RFC4122)
66-79Taktsequenz (14 Bits)
80-127Knoten-ID (48 Bits)

UUID v6 vs. andere Versionen

VersionBasierend aufAnwendungsfallPrivatsphäre
UUID v1Zeit + MACZeitlich geordnete IDs⚠️ Offenbart MAC
UUID v3Namespace + MD5Deterministische IDs✅ Privat
UUID v4ZufallSichere zufällige IDs✅ Privat
UUID v5Namespace + SHA-1Deterministische IDs✅ Privat
UUID v6Zeit (umgeordnet)Sortierbare IDs⚠️ Offenbart MAC
UUID v7Zeit + ZufallSortierbare 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.

Ressourcen