Home

Sequenznummern

Sequenznummern sind numerische Kennungen, die der Bestimmung der Reihenfolge von Elementen dienen. Sie ermöglichen das Nachverfolgen von Abläufen, das Erkennen von Duplikaten und die Integrität von Datenströmen. In vielen Systemen werden Sequenznummern als monotone Zähler implementiert, die mit einer Anfangszahl beginnen und bei jedem neuen Element inkrementiert werden.

Typische Einsatzgebiete umfassen Netzwerke, verteilte Messaging-Systeme, relationale Datenbanken und Versionierungssysteme. In Netzwerken kennzeichnet die Sequenznummer Bytes

Designaspekte umfassen Reichweite, Granularität und Monotonie, sowie den Umgang mit Wraparound, Persistenz über Neustarts und Fehlertoleranz.

Typische Implementierungen: In relationalen Datenbanken erzeugt ein Sequenzobjekt fortlaufende Zahlen (z. B. nextval). In TCP identifizieren

in
einem
Datenstrom,
ermöglicht
das
korrekte
Wiederzusammenfügen
von
Segmenten
und
das
Erkennen
verlorener
Pakete.
In
Messaging-Systemen
unterstützen
Sequenznummern
Duplikatvermeidung,
Wiederholungskontrolle
und
Fortschrittsmessung.
In
relationalen
Datenbanken
erzeugen
Sequenzobjekte
eindeutige
Primärschlüsselwerte;
in
MVCC-Systemen
dienen
Sequenznummern
der
Versionierung
von
Datensätzen.
In
Dokumenten-
oder
Versionsspeichern
helfen
sie,
die
Chronik
von
Änderungen
abzubilden.
Oft
werden
Sequenznummern
gegen
Vorhersage
und
Replay-Angriffe
geschützt.
Bei
verteilten
Systemen
muss
man
Lückenhandhabung
berücksichtigen,
da
nicht
alle
Elemente
in
der
richtigen
Reihenfolge
eintreffen
oder
verarbeitet
werden.
Sequenznummern
Bytes
im
Datenstrom
und
ermöglichen
Wiederordnung
sowie
Verlusterkennung.
In
Kafka
oder
ähnlichen
Systemen
repräsentieren
Offsets
die
Reihenfolge
innerhalb
einer
Partition.