About this episode
Da die Zeiten von Karteikarten in Büros und auf Ämtern zum Glück leider vorbei sind, braucht es nun andere Wege, um Personen zu identifizieren. Doch nicht nur störende Kundschaft will wiedererkannt werden...ShownotesWir haben einiges an Feedback bekommen, siehe Ende der Shownotes. Zuerst zum eigentlichen Thema:
Identifier (ID): eindeutiges Kennzeichen zur Unterscheidung gleichartiger Objekte oder Individuen
während des Softwaredesign (z.B. beim Entwurf des Datenbankschemas): Entscheidung darüber, welche Identifier für welche Kategorien von Objekten verwendet werden
Identifier für Menschen: Falsehoods Programmers Believe About Names
bei deutschen Behörden üblich: das Tupel aus Name und Geburtsdatum und evtl. Geburtsort -> immer noch nicht ganz eindeutig
bei Benutzerkonten im wesentlichen drei Optionen:
fortlaufende Nummern (Vorteile: im Speicher kompakt darstellbar, robustes Pseudonym; Nachteile: leakt das Alter des Kontos, rare kurze Nummern vermitteln Status), siehe z.B. ICQ-Kontonummern (frühe 2000er)
frei wählbare Benutzernamen (Vorteile: eingängig, Pseudonymität möglich; Nachteile: belohnt frühe Registrierung, fördert Name-Squatting)
E-Mail-Adressen (Vorteile: enthält implizit eine Kontaktmöglichkeit, wird seltener vergessen als eine Nummer oder ein frei wählbarer Name; Nachteile: muss vertraulich behandelt werden, beim Wechsel der Mail-Adresse evtl. Neuanmeldung erforderlich)
auch bei Objekten oder Datenstrukturen eine gute Option: fortlaufende Nummern
im deutschen Handelsrecht bei Rechnungen sogar in gewissem Rahmen rechtlich vorgeschrieben
Vorteil: Hochzählen ist trivial umzusetzen
Vorteil: kompakte Darstellung im Speicher (z.B. nur 4 Byte bei einer Gesamtzahl unter 4 Mrd. Objekte) -> insb. wichtig bei Kreuzreferenzen
Nachteil: ab und zu hat man doch mehr Objekte als erwartet und muss mühselig auf größere Zahlen umstellen (z.B. bei über 4 Mrd. Objekten von 32-Bit-Zahlen auf 64-Bit-Zahlen) -> Beispiel bei der Schachwebseite chess.com
Nachteil: in verteilten Systemen (siehe STP027) braucht man eine zentrale ID-Vergabestelle oder einen aufwändigen Konsensalgorithmus -> Geht das besser?
Universally Unique Identifier (UUID) gemäß RFC 4122
Idee: mit dem Schrit