672 Stimmen

Ist eine GUID zu 100% eindeutig?

Ist eine GUID zu 100 % eindeutig?

Bleibt sie über mehrere Threads hinweg eindeutig?

2voto

Adithya Sai Punkte 1326

Um ein besseres Ergebnis zu erzielen, ist es am besten, die GUID an den Zeitstempel anzuhängen (nur um sicherzustellen, dass sie eindeutig bleibt)

Guid.NewGuid().ToString() + DateTime.Now.ToString();

0voto

Trong Hiep Le Punkte 33

Der schwierigste Teil besteht nicht darin, eine doppelte Guid zu erzeugen.

Der schwierigste Teil ist die Entwicklung einer Datenbank, in der alle erzeugten Dateien gespeichert werden, um zu überprüfen, ob es sich tatsächlich um Duplikate handelt.

Aus WIKI:

Die Anzahl der zufälligen UUIDs der Version 4, die generiert werden müssen, um eine 50-prozentige Wahrscheinlichkeit für mindestens eine Kollision zu haben, beträgt beispielsweise 2,71 Billiarden und wird wie folgt berechnet:

Bildbeschreibung hier eingeben

Diese Zahl entspricht der Erzeugung von 1 Milliarde UUIDs pro Sekunde über einen Zeitraum von etwa 85 Jahren, und eine Datei mit so vielen UUIDs wäre bei 16 Byte pro UUID etwa 45 Exabyte groß, also um ein Vielfaches größer als die größten derzeit existierenden Datenbanken, die in der Größenordnung von Hunderten von Petabytes liegen

0voto

Benjamin Roberts Punkte 369

GUID steht für Global Unique Identifier

Kurz gefasst: (der Hinweis steckt im Namen)

Im Detail: GUIDs sind so konzipiert, dass sie eindeutig sind; sie werden mit einer Zufallsmethode berechnet, die auf der Uhr des Computers und dem Computer selbst basiert. Wenn Sie viele GUIDs in derselben Millisekunde auf demselben Computer erstellen, ist es möglich, dass sie übereinstimmen, aber für fast alle normalen Vorgänge sollten sie als eindeutig gelten.

-2voto

William M. Rawls Punkte 139

Genug GUIDs, um jedem einzelnen hypothetischen Sandkorn auf jedem hypothetischen Planeten um jeden einzelnen Stern im sichtbaren Universum eine zuzuweisen.

Wenn jeder Computer auf der Welt 200 Jahre lang 1000 GUIDs pro Sekunde erzeugt, könnte (MÖGLICHERWEISE) eine Kollision stattfinden.

In Anbetracht der Anzahl der derzeitigen lokalen Verwendungen von GUIDs (z. B. eine Sequenz pro Tabelle pro Datenbank) ist es außerordentlich unwahrscheinlich, dass dies für uns begrenzte Lebewesen (und Maschinen mit einer Lebensdauer von weniger als einem Jahrzehnt, wenn nicht sogar einem oder zwei Jahren bei Mobiltelefonen) jemals ein Problem darstellen wird.

... Können wir diesen Thread jetzt schließen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X