Diskussion:Globally Unique Identifier
GUID in Windows
In disem Absatz steht heute (08.01.2007, 10.30 Uhr MEZ): "In aktuellen Windows-Versionen wird ... die MAC-Adresse nicht mehr zur Erzeugung von GUIDs herangezogen ..." Welche Windows-Versionen sind mit "aktuell" gemeint? Grüße, Franzl
Würde mich auch interessieren. "Aktuell" ist zu schwammig formuliert. Gruß, Tobias
- Nicht nur, dass es schwammig formuliert ist - WIE wird sonst kommt es denn dann zur globalen eindeutigkeit? Der Witz bei den MACs ist ja, dass es jede nur einmal gibt. --18:20, 2. Mai 2009 (CEST) (ohne Benutzername signierter Beitrag von 84.56.96.234 (Diskussion | Beiträge) )
- Der Witz der MAC-Adresse ist vor allem, dass man sie (oft? immer?) ändern kann. Daher ein schlechter Ausgangswert, wenn es nicht nur Grundlage zur Initialisiation eines Zufallszahlengenerators ist. --Benji 19:34, 2. Mai 2009 (CEST)
Google-Beispiel
Hallo, was soll denn das Beispiel mit google?
"Wenn zum Beispiel die GUID 57468927-998A-4783-A784-4C3AFDAF5916 in der Google-Suche eingegeben wird, so wird nur ein Artikel gefunden."
Es finden sich mehr als ein Duzend Treffer zu Texten in denen steht, das es bei Google zu dieser GUID nur einen Treffer gibt.
Ich würde diesen Satz einfach streichen. Die GUID hat nix mit Google zu tun !
mfg MaBuSE
ps: Ich habe die betreffende Stelle gerade gelöscht. (Meine 1. Änderung im WikiPedia :-) (nicht signierter Beitrag von MaBuSE (Diskussion | Beiträge) )
- Naja, immerhin ist es interessant, die hier als Beispiel angegebenen GUID mal zu googlen. Ich finde, wenn es mehr als drei Treffer gibt, kann man es nicht mehr GUID nennen. Also habe ich heute mal eine neue erzeugt. -- nullbarriere Beiträge 10:35, 18. Sep. 2008 (CEST)
- Bedingung für eine gültige GUID ist doch nicht, dass sie nur einmal weltweit in allen Dokumenten auftauchen darf. Genannt werden kann sie sooft wie man will. Aber sie darf nur für ein Element als Bezeichner verwendet werden.
- Eigentlich ist sogar die Nicht-Eindeutigkeit kein Problem wenn die GUID für vollkommen verschiedene Dinge verwendet wird. Also die gleiche GUID als ID einer Softwareschnittstelle und als ID einer Festplattenpartition. Nur wird das nicht passieren wenn sie wirklich erzeugt anstatt abgeschrieben wird.
- Im Prinzip erspart die Architektur der GUID (Berechnung und schiere Größe) nur den Test auf Eindeutigkeit für den vorgesehenen Zweck, die Führung einer zentralen Registratur. --jailbird 11:15, 18. Sep. 2008 (CEST)
Wahrscheinlichkeit gegen 0
Hallo, nochmal ich:
"Jede GUID ist praktisch einmalig. Die Wahrscheinlichkeit,dass zwei gleiche GUIDs erzeugt werden können, geht gegen null ( oder )."
=> !Richtig - die Kardinalität der GUID sollte 1:n sein, sonst ergäbe sie keinen Sinn - das ist nicht immer der Fall und somit ist folglich die Kardinalität n:m !
Muß es nicht heißen?
2 hoch 128 ist eine sehr große Zahl. Also nicht gegen Null.
1 durch eine hohe Zahl ist aber eine sehr kleine.
Da ich das nicht genau weiß, schreibe ich es in diese Diskussion.
Wenn der Einwand berechtigt ist, bitte ändern.
Danke MaBuSE (nicht signierter Beitrag von MaBuSE (Diskussion | Beiträge) )
- Hallo,
- mathematisch korrekter als die Formulierung im Text, allerdings würde gegen 0 gehen auch wieder eine Argumentation mit einem Limes erfordern. Folglich ist die Behauptung, die Wahrscheinlichkeit geht gegen 0 schlichtweg ungünstig formuliert, richtiger wäre, die Wahrscheinlichkeit ist zu vernachlässigen, da sie extrem klein ist, denn es geht hier nichts (als Grenzwert einer Funktion) gegen 0, sondern es ist hier etwas fast 0, weil es extrem viele unterschiedliche Möglichkeiten gibt, den mathematischen Zusammenhang mit dem Kehrwert hast du durchaus korrekt geschrieben.
- Fazit: Sollte umformuliert werden. Mache ich vielleicht gleich mal.
- Grüße, --Benji 00:57, 28. Okt. 2006 (CEST)
Leider ist das alles nur reine Theorie. In der Praxis kommt es viel häufiger zu doppelten GUIDs, selbst Microsoft gibt das zu. Als Wert in der Praxis dürfte gelten: Die Wahrscheinlichkeit liegt zwischen 1: 1Mio bis 1:60Mio. Da das ein echtes Problem in der Praxis darstellt, gehört das in den Artikel rein. Zum Selbertesten nehme man eine db, lege eine Tabelle mit einer guid-Spalte an, setzte eine unique-constraint drauf und ballere in diese Tabelle von unterschiedlichen (! sonst sind sie wirklich eindeutig) Rechnern Werte in die Tabelle. Mal sehen vielleicht wird es ja mit .net 4.0 besser --109.85.206.48 15:43, 20. Jan. 2010 (CET)
-- Das Problem mit der Theorie ist, das sie falsch ist. Die Wahrscheinlichkeit für Duplikate ist _viel_ höher alsd die naiven und falschen Rechnungen hier: einerseits sind es nur 112 bits, nicht 128, andererseits greift das birthday paradox. 109.193.249.87 13:26, 29. Mär. 2021 (CEST)
Text geklaut
http://de.freeglossary.com/GUID (nicht signierter Beitrag von 149.229.97.123 (Diskussion) )
- Nein, es ist genau andersrum, jener Artikel ist von der Wikipedia "geklaut", vergleiche [1]. --Benji 00:57, 28. Okt. 2006 (CEST)
Unterschied zwischen GUID und UUID
- Gibt es überhaupt einen Unterschied zwischen GUID und UUID?
- Sollten die beiden Lemmas so oder so zusammengelegt werden?
Die englischsprachige Wikipedia schreibt The GUID is an implementation by Microsoft of a standard called Universally Unique Identifier (UUID). Man könnte es also durchaus zusammenlegen, ich würde es allerdings nicht tun. Eher sollte jemand mal en:GUID ins Deutsche übersetzen. Ich hatte mir das nach der Übersetzung von en:UUID zwar vorgenommen, aber momentan keine Lust dazu. --jailbird 14:15, 18. Nov 2005 (CET)
Die UUID wird alleine aus Zufallszahlen gebildet (daher der Wert ). Der GUID liegt dagegen eine MAC-Adresse zugrunde, die um eine Versionsnummer und einen Zeitstempel ergänzt wird. Siehe beispielsweise MSDN: Generating GUIDs on the Pocket PC. --85.179.2.108 17:07, 5. Okt 2006 (CEST)
Sehr wohl wird aus dem momentanen GUID-Artikel nicht klar, dass es sich um eine Implementierung der UUID handelt. Überarbeitung nötig. --Benji 00:57, 28. Okt. 2006 (CEST)
Ich sehe auch keinerlei Quelle für diese Behaptung. Es scheint nicht mal eine Spezifikation für GUIDs zu geben. 109.193.249.87 13:27, 29. Mär. 2021 (CEST)
Beispiel?
Auf dieser Seite ist leider überhaupt kein Beispiel. Ich wusste am anfang nicht, wie ich mir so etwas vorstellen soll.
Haben GUIDs immer die gleiche form: {0DD013D1-D8BA-4698-838C-E1AB2B6CEC98} also {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} oder können die verschieden sein?
Und welche Zeichen sind als Bestandteile der GUID gültig? Großes Alphabet und Zahlen, keine Sonderzeichen (außer der Bindestrich)?
Und wie werden die erzeugt? Ganz einfach Zufallszahlen? (nicht signierter Beitrag von Jakob190590 (Diskussion | Beiträge) )
- Hallo Jakob,
- ja, GUIDs haben immer diese Form (siehe ISO-Norm), und sie besteht nur aus hexadezimalen Zeichen, sprich 0 bis 9 und A bis F. Von Alphabet oder sonstigem kann gar nicht die Rede sein.
- Selbstverständlich werden sie mehr oder weniger zufällig gewählt. Siehe auch weiter oben.
- Grüße, --Benji 23:12, 31. Jan. 2007 (CET)
- Ahh, Danke jetzt bin ich wieder schlauer. Sollte man vllt ein Beispiel, und die Tatsache, das sie nur aus Hex-zahlen bestehen noch in den Artikel aufnehmen? (nicht signierter Beitrag von 89.49.187.251 (Diskussion) )
- Naja, im Artikel steht doch ausdrücklich Ein Globally Unique Identifier (GUID) bzw. [...] ist eine global eindeutige Zahl. Und Zahl bedeutet Zahl, nicht Buchstabe (bzw. "Alphanumerisches Zeichen"). Dass Zahlen in verschiedenen Zahlensystemen (am Verbreitesten binär, oktal, dezimal und eben auch hexadezimal) dargestellt werden können, wo sie dann natürlich auch ganz anders aussehen, hat ja mit dem "global einzigartigen Identifikator" nichts mehr zu tun. Von daher stimmt dein Ausspruch, sie ständen nur aus Hex-Zahlen auch überhaupt nicht, nur weil es gebräuchlich ist, sie in dem Zahlensystem zu notieren (aufgrund der Kürze, stell dir eine so große Zahl im Binärsystem vor, da würdest du morgen noch 0en und 1en schreiben.)
- Grüße, --Benji 20:08, 15. Feb. 2007 (CET)
Erzeugung
Noch eine Frage: Wenn ich eine GUID in einem (Delphi-)Programm erzeugen will, dann muss ich also einfach mehrere Hex-Zufallszahl, die die richtige Anzahl Stellen haben mit einem Bindestrich zusammen setzen, richtig? (nicht signierter Beitrag von 89.49.171.153 (Diskussion) )
- So einfach ist es nicht - du musst dich an den Universally Unique Identifier Standard halten. Conny 20:03, 11. Mai 2007 (CEST).
Da gibt's sicher Bibliotheksroutinen vermutilich irgendwo in SysUtils oder Windows.
- Heutzutage gibt's in System.SysUtils die Funktion CreateGUID.--2A02:8070:6394:7A00:69E4:D2C4:B81C:D7E8 10:51, 20. Mär. 2022 (CET)
Wahrscheinlichkeit für zwei gleich GUIDs
"Die Wahrscheinlichkeit, dass zwei gleiche GUIDs erzeugt werden, ist sehr gering. (2^-128)" Ich halte den Satz für teilweise irreführend, da die Wahrscheinlichkeit, dass auf der Welt zwei gleiche GUIDs erzeugt werden ja mit der Anzahl der ingesamt erzeugten GUIDs steigt, also deutlich höher liegt. (Theoretischer) Extremfall: Es werden 2 hoch 128 GUIDs erzeugt, dann sind mit 100% Wahrscheinlichkeit 2 gleiche vorhanden.
Es gilt also lediglich: Wenn man zwei GUIDs vergleicht, dann sind diese mit der Wahrscheinlichkeit 2^-128 identisch. Die Wahrscheinlichkeit das zwei gleiche GUIDs aufeinander treffen ist und bleibt dennoch verschwindend gering, das steht außer Frage. (nicht signierter Beitrag von 217.235.46.247 (Diskussion) )
- Stimmt vollständig. Hast du Lust, das jetzt in den Artikel einzubauen? --Benji 00:37, 26. Jun. 2007 (CEST)
- Selbst wenn 2^128 GUIDs erzeugt würden, läge die Wahrscheinlichkeit für 2 gleich noch weiter unter 100%. Gibt es Schätzungen, wie viele GUIDs schon erzeugt worden sein könnten?80.152.191.37 15:33, 15. Jan. 2009 (CET)
- Stimmt so nicht ganz. Wenn 2^128 GUIDs erzeugt werden, ist die Wahrscheinlichkeit, daß zwei gleiche darunter sind, knapp unter 100%. Wenn 2^128+1 GUIDs erzeugt werden, sind sicher (Wahrscheinlichkeit 1) mindestens zwei gleiche darunter. Was 80.152.191.37 vermutlich meinte: Wenn 2^128 GUIDs erzeugt werden, ist die Wahrscheinlichkeit, daß eine bestimmte, vorher festgelegte GUID darunter ist, weit unter 100%, nämlich 1-(1-2^-128)^(2^128). Dieser Unterschied ist aber im praktischen Alltag egal. --Rodeng 12:26, 26. Aug. 2009 (CEST)
- GUIDs enthalten maximal 112 bit zufall. Aber selbst bei 128 bit ist die Rechnung irreführend, die Wahrscheinlichkeiten für Duplikate sind deutlich höher, z.B. bei 128 bit schon 50% nach "nur" ca. 2*10**19 GUIDs (ca. 2**64). Die Wahrschienlichkeit eine bestimmte GUID nochmal zu erzeugen ist in der Praxis in der Tat irrelevant, die Wahrscheinlichkeit für Kollisionen dagegen nicht. 109.193.249.87 13:32, 29. Mär. 2021 (CEST)
Ist der GUID eine Zahl?
Ist der GUID eine Zahl oder ein alphanumerischer Wert. Eine Zahl ist doch z.B. 862345, aber nicht 9875a45c. Oder? mfg mqn
- Doch, 9875a45c ist eine hexadezimale Zahl.... ist im Computerbereich ein weit verbreitetes System. --Guandalug 10:32, 23. Jan. 2008 (CET)
- Wobei ich anmerken möchte, dass weder GUID noch UUID als Zahlen verwendet werden. Es wird weder damit gerechnet noch auf kleiner oder größer getestet. Effektiv ist es einfach ein String. --jailbird 12:01, 23. Jan. 2008 (CET)
- Dann erlaube ich mir mal den Artikel zu ändern und hexadezimal hinzuzufügen. Wobei es immer noch eine besondere hex Zahl ist. Sie ist nämlich immer 16 bytes lang.
- mfg mqn
- 9875a45c ist eine hexadezimale Zahl, dagegen sind 07c5bcdc-b3a6-482f-8556-bb04fae06538 m.E. mehrere hexadezimale Zahlen, getrennt mit Bindestrichen und repräsentieren eine (hexadezimale) Identifikationsnummer. -- BE 11:43, 17. Feb. 2009 (CET)
Nochmal Wahrscheinlichkeit
Die Berechnung der Wahrscheinlichkeit, dass zwei gleiche GUIDs erzeugt werden, finde ich etwas irreführend. Zum einen dienen nicht alle Bits der Eindeutigkeit, sondern tragen unter Umständen eine bestimmte Information, z.B. ist das erste Zeichen der dritten Gruppe offenbar immer 4 (Version?). Zum anderen hängt es vom Verfahren zur GUID-Erzeugung ab, ob die restlichen Bits wirklich zufällig verteilt sind oder Teile davon zwar der Eindeutigkeit dienen sollen, aber keine (Pseudo-)Zufallszahlen sind. Dies gilt etwa für das beispielhaft im Artikel genannte Verfahren mit MAC-Adresse und Zeitstempel. --Matthäus Wander 17:20, 18. Aug. 2009 (CEST)
Format
"GUIDs haben das Format {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" - die Aussage halte ich für zweifelhaft. Ich wüßte nicht, warum ich für eine 16 Byte lange numerische Größe 36 Byte verwenden sollte. Es handelt sich bei der GUID um eine Zahl, die als hexadezimal kodierte Ziffernfolge im Format {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} dargestellt wird. In einem Datensatz wird man die 16 Bytes ablegen, nicht den formatierten String. (nicht signierter Beitrag von 155.56.68.216 (Diskussion | Beiträge) 15:06, 21. Okt. 2009 (CEST))
- Speicherplatz ist günstig und Strings sind am einfachsten zu handhaben, z.B. in XML, als Konstanten oder Attribute im Sourcecode. Die Verwendung als byte-Array ist auch möglich, aber nicht die einzig vorgesehene Nutzungsart. So implementiert die Guid-Struktur in .NET etwa das IFormatattable-Interface für String-Ausgaben. Die interne Guid-Repräsentation in .NET ist übrigens kein byte-Array, sondern {int32, int16, int16, byte, byte, byte, byte, byte, byte, byte, byte}, was dem String-Format schon sehr nahe kommt. --Matthäus Wander 21:47, 21. Okt. 2009 (CEST)
Was stattdessen?
In der aktuellen Version 4 wird die MAC-Adresse nicht mehr zur Erzeugung von GUIDs herangezogen.
Mich würde interessieren was stattdessen gemacht wird und das sollte auch in den Artikel rein!!
-- 212.37.49.101 12:49, 3. Feb. 2011 (CET)
- Die aktuelle Uhrzeit des berechnenden Systems. --Matthäus Wander 16:01, 3. Feb. 2011 (CET)
- Keine Uhrzeit, sondern ausschließlich Zufallszahlen (echte oder pseudo-zufällige Zahlen). Auf Linux-Systemen wären das z.B. Daten aus der Gerätedatei /dev/random oder /dev/urandom, Siehe https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random). --Wrev (Diskussion) 15:21, 12. Sep. 2020 (CEST)
Beispiel in Allgemeine Problemstellung
Das Beispiel ist etwas seltsam. Zunächst mal ist die vorgeschlagene Lösung Kundennummer + eine Ziffer zur Identifizierung des Standorts praxisfern. Wer eine ernsthafte Lösung des beschriebenen Problems bauen würde, würde eine Standort-ID (länger als eine Ziffer) und eine Kunden-ID verwenden. Beides zusammen wäre eindeutig, somit können mehrere Standorte gleichzeitig in ihre jeweilige Kundendatei Datensätze eingeben. Innerhalb eines Standorts würde die Stelle, die die Primärkopie der Kundendatei vorhält, pro neuen Datensatz eine laufende Kunden-ID generieren. Natürlich könnte diese Stelle auch eine GUID erzeugen, aber der Mehrwert davon wird aus dem Beispiel nicht deutlich. Überhaupt ist es nicht sinnvoll ein Beispiel zu benennen, wo Datensätze durch einen Benutzer eingegeben werden, da GUIDs automatisch generiert werden und eher zur internen Verwendung sinnvoll sind, d.h. ohne dass der Benutzer die GUID irgendwo selbst eingibt. Statt dem (unrealistischen) Beispiel schlage ich eine Beschreibung von tatsächlich vorkommenden Beispielen vor. Im Abschnitt GUIDs in Windows gibt es bereits welche, die zwar sehr technisch sind, aber das nunmal die Verwendung von GUIDs ausmacht. --Matthäus Wander 10:55, 26. Feb. 2011 (CET)
- Finde ich auch. Lieber ein Beispiel z.B. warum GUIDs bei Modularisierung oder Interfaces (CLSID) verwendet werden. Außerdem finde ich es seltsam, dass der Abschnitt "Allgemeine Problemstellung" heißt wenn nur 1 spezifisches Problem als Beispiel genannt wird. Das ist nicht Allgemein. --87.165.175.132 17:05, 22. Mai 2012 (CEST)
GUID mit UUID zusammenführen
Die beiden Artikel überschneiden sich inhaltlich sehr stark. Darüber hinaus existiert im Prinzip zwischen UUID und GUID auch kein signifikanter Unterschied. Das geht auch aus der Normbeschreibung heraus: Kap 1: This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier).( [2] ) Gerne würde ich mich darum kümmern - hab allerdings ehrlich gesagt keine Ahnung was das Vorgehen zum Verschmelzen / Zusammenführen von zwei Artikeln ist. Kann da eventuell jemand mithelfen? --Mlorer 12:40, 21. Okt. 2011 (CEST)
- Bei GUID handelt es sich wohl um eine Implementierung von UUID. Theorethisch sind diese beiden zwar quasi das selbe, praktisch hat das aber unter umständen Auswirkungen weswegen eine Zusammenführung aus meiner Sicht nicht zu empfehlen ist. (siehe auch hier) --Hakatan (Diskussion) 19:11, 31. Okt. 2013 (CET)
Welches Problem?
Im ersten Abschnitt unter dem Inhaltsverzeichnis steht "Eine Möglichkeit, das oben beschriebene Problem zu lösen [...]". Das bezieht sich wahrscheinlich auf die Einleitung; in der Einleitung ist aber gar kein Problem an sich formuliert, sondern nur erwünschte Eigenschaften der GUID, die zu einem Problem (dem der Bildung) führen. Ich würde also dafür plädieren, die Formulierung "oben beschriebenes Problem" zu ändern, oder oben wirklich ein Problem zu formulieren (gern werde ich auch selbst tätig). Beste Grüße Captainsurak (Diskussion) 13:30, 27. Nov. 2012 (CET)
IPv6
Was hat der Punkt IPv6 im Abschnitt Siehe aus zu suchen? In beiden Artikel wird nichts vom Gegenüber erwähnt. --Hakatan (Diskussion) 19:14, 31. Okt. 2013 (CET)
- Kein Zusammenhang, ist jetzt entfernt. --Matthäus Wander (Diskussion) 15:32, 2. Nov. 2013 (CET)
"Replikations-ID" ist die Feldgröße einer GUID - und kein Synonym für GUID
Weil das eben mit dieser Quellebehauptet wurde... Grüße, --Schotterebene (Diskussion) 07:54, 21. Jan. 2017 (CET)
guid.us
Ich habe den Link gelöscht, da das Angebot völlig intransparent ist. Man erfährt z.B. nicht ob die IDs lokal oder auf einem Server generiert werden, nichts darüber, wie sie hier konkret erzeugt werden, absolut nichts über den Anbieter. --92.196.127.91 09:55, 18. Jun. 2017 (CEST)
- Und kann kein https - nicht einmal nach manueller Umstellung. --Wrev (Diskussion) 15:16, 12. Sep. 2020 (CEST)
Geschlecht
Nichts gegen geschlechtliche Vielfalt, aber im Artikel stört der ständige Wechsel zwischen "ein/dem" und "einer/der" GUID.
Da "Identifier" doch eher männlich ist - und der Artikel denn auch mit "ein [GUID]" beginnt, sollte der übrige Text daran angepasst werden.
Ed, --217.251.207.43 14:19, 7. Mär. 2018 (CET)