Zum Inhalt springen

Glossar · U

UUID

Universally Unique Identifier. 128-Bit-Kennung (meist zufällig erzeugt), die als verlässliche, kollisionsfreie ID für Datenbankzeilen oder Statamic-Einträge dient.

Definition

UUID steht für Universally Unique Identifier und bezeichnet eine 128-Bit lange Kennung, die dazu dient, Objekte oder Daten eindeutig zu identifizieren. Die UUID wird häufig in der Informatik verwendet, um Datensätze, Dateien oder Komponenten weltweit eindeutig zu adressieren, ohne dass eine zentrale Vergabestelle erforderlich ist. Die Identifikatoren sind so konzipiert, dass Kollisionen, also doppelt vergebene IDs, mit sehr hoher Wahrscheinlichkeit ausgeschlossen sind.

UUIDs bestehen aus 32 hexadezimalen Ziffern, die in fünf Gruppen durch Bindestriche getrennt sind. Die Struktur folgt einem standardisierten Format, das ursprünglich durch RFC 4122 definiert und 2024 durch RFC 9562 abgelöst wurde. Aufgrund ihrer Länge und Struktur bieten UUIDs eine sehr große Anzahl möglicher Kombinationen, was die Einzigartigkeit sicherstellt.

Was bedeutet das für Ihr Unternehmen?

UUIDs als Kennungen haben einen praktischen Vorteil: Wer eine Kundennummer oder Rechnungs-ID in der Adresszeile sieht, kann nicht durch Hochzählen die nächste Nummer ausprobieren. Außerdem lassen sich Daten aus mehreren Systemen oder Offline-Geräten zusammenführen, ohne dass IDs doppelt vergeben werden. Eine UUID ersetzt aber keine Rechteprüfung, denn auch eine schwer erratbare Adresse darf nur für berechtigte Nutzer Daten zeigen.

Hintergrund und Standardisierung

Die Spezifikation für UUIDs wurde 2005 im RFC 4122 veröffentlicht (seit 2024 ersetzt durch RFC 9562, der unter anderem die zeitlich sortierbare Version 7 einführt) und basiert auf früheren Entwürfen von der Open Software Foundation (OSF) für das Distributed Computing Environment (DCE). Die Standardisierung erfolgt durch die Internet Engineering Task Force (IETF), die die technischen Details und die korrekte Erzeugung von UUIDs festlegt.

Es gibt verschiedene Versionen von UUIDs, die sich in der Art der Generierung unterscheiden. Die bekanntesten sind Version 1, die auf Zeit und MAC-Adresse basiert, und Version 4, die auf Zufallszahlen beruht. Die Wahl der Version beeinflusst die Sicherheit und die Wahrscheinlichkeit von Kollisionen. Version 4 ist heute am weitesten verbreitet, da sie keine hardwarebezogenen Informationen preisgibt.

Funktionsweise und Generierung

UUIDs werden durch Algorithmen erzeugt, die entweder zeitbasierte Werte, Zufallszahlen oder eine Kombination aus beidem verwenden. Bei Version 1 wird die aktuelle Zeit zusammen mit der MAC-Adresse des erzeugenden Geräts kombiniert, um eine eindeutige ID zu schaffen. Diese Methode kann jedoch Datenschutzbedenken aufwerfen, da die MAC-Adresse Rückschlüsse auf das Gerät zulässt.

Version 4 UUIDs basieren ausschließlich auf Zufallszahlen, die mit kryptographisch sicheren Zufallszahlengeneratoren erzeugt werden sollten. Dadurch wird die Rückverfolgbarkeit minimiert, und die Wahrscheinlichkeit von Kollisionen bleibt extrem gering. Die Erzeugung erfolgt lokal, ohne Abhängigkeit von einer zentralen Instanz.

Einsatzgebiete

UUIDs finden breite Anwendung in verteilten Systemen, Datenbanken und Softwareentwicklungen, bei denen eindeutige Identifikatoren benötigt werden. Beispielsweise werden sie genutzt, um Datensätze in NoSQL-Datenbanken zu kennzeichnen oder Ressourcen in Webanwendungen zu adressieren. Auch in Content-Management-Systemen und bei der Versionierung von Dokumenten sind UUIDs verbreitet.

Ein weiterer Anwendungsbereich ist die Identifikation von Geräten oder Sitzungen in Netzwerken. Durch die globale Einzigartigkeit kann eine UUID als Schlüssel dienen, der ohne Koordination zwischen verschiedenen Systemen erzeugt wird. Dies erleichtert die Integration und Synchronisation verteilter Anwendungen.

Abgrenzung zu verwandten Identifikatoren

Im Vergleich zu einfachen numerischen IDs oder sequenziellen Schlüsseln bieten UUIDs den Vorteil der globalen Eindeutigkeit ohne zentrale Vergabestelle. Dies unterscheidet sie von Auto-Increment-IDs in relationalen Datenbanken, die nur innerhalb einer Datenbank eindeutig sind. Allerdings sind UUIDs aufgrund ihrer Länge und Zufälligkeit weniger performant bei Indexierung und Speicherbedarf.

Alternativen zu UUIDs sind beispielsweise ULIDs (Universally Unique Lexicographically Sortable Identifier), die ebenfalls 128 Bit lang sind, aber eine lexikographische Sortierung ermöglichen. Ebenso existieren Hash-basierte Identifikatoren, die aus den Inhalten von Objekten generiert werden. Die Wahl des Identifikators hängt vom Anwendungsfall und den Anforderungen an Sicherheit, Performance und Eindeutigkeit ab.

Verwandte Begriffe

Aus dem Blog

Passende Leistung

Sie möchten wissen, was das für Ihr Projekt bedeutet? Sprechen Sie uns an.

Zur Leistung: Datenbank-Systeme