Datenkonsistenz
Datenkonsistenz beschreibt, ob mehrere Systeme zu einer Angabe denselben Stand führen und ab wann eine Abweichung zwischen ihnen zulässig ist.
Sobald eine Angabe in mehr als einem System vorliegt, entscheidet die Festlegung zur Konsistenz darüber, welche Abweichungen im Betrieb hinnehmbar sind und welche Schaden anrichten.
In einfachen Worten
Werden Angaben zwischen Systemen übertragen, vergeht Zeit. In dieser Zeit zeigt das Zielsystem einen älteren Stand. Für viele Angaben ist das unerheblich: Eine Artikelbeschreibung darf einige Minuten hinterherlaufen. Für andere ist es folgenreich: Ein Preis oder ein Bestand, der zum Zeitpunkt der Bestellung falsch ist, erzeugt eine Korrektur oder einen Überverkauf. Die Aufgabe besteht darin, je Angabe zu entscheiden, welche Verzögerung vertretbar ist, und den Weg danach auszulegen. Dazu gehört auch die Frage, woran eine Abweichung auffällt. Ohne regelmäßigen Abgleich bemerkt sie im Zweifel der Kunde, und die Klärung beginnt mit der Suche nach dem führenden Stand.
Wozu brauche ich das?
Der Bedarf entsteht bei jeder Anbindung zwischen Verkaufskanal, Warenwirtschaft und weiteren Systemen. Für Preise, Bestände und Bestellzustände wird eine kurze Verzögerung festgelegt und überwacht; für beschreibende Angaben genügt ein regelmäßiger Abgleich. Die Festlegung gehört in dieselbe Beschreibung wie die Systemarchitektur, weil sie an der Datenhoheit hängt.
Beispiel aus der Praxis
Ein Bestand wird alle fünfzehn Minuten aus der Warenwirtschaft in den Verkaufskanal übertragen. Bei ruhigem Geschäft fällt das nicht auf. An einem Aktionstag verkauft sich ein Artikel innerhalb weniger Minuten leer, und der Kanal nimmt bis zur nächsten Übertragung weitere Bestellungen an. Die Folge sind Stornierungen und Rückfragen. Für Artikel mit hoher Umschlagsgeschwindigkeit wurde die Übertragung daraufhin auf eine Rückfrage beim Bestellabschluss umgestellt.
Wirtschaftlicher Nutzen
Eine bewusste Festlegung je Angabe hält den Aufwand dort, wo er nötig ist, und stützt die führende Quelle je Wert. Angaben mit geschäftlicher Wirkung werden eng geführt und überwacht, die übrigen laufen in ruhigem Takt. Das senkt die Last auf den Verbindungen und verhindert zugleich die Fälle, die Stornierungen und Nacharbeit auslösen.
Typische Fehler
- Für alle Angaben denselben Übertragungstakt gewählt – kritische Werte laufen zu langsam, unkritische erzeugen unnötige Last.
- Keine Rückfrage beim Abschluss vorgesehen – ein zwischenzeitlich verkaufter Artikel wird trotzdem bestellt.
- Abweichungen nicht gemessen – ohne regelmäßigen Abgleich fällt ein abgerissener Weg erst durch eine Kundenmeldung auf.
- Dieselbe Angabe in zwei Systemen gepflegt – ohne die in der Systemarchitektur festgelegte Datenhoheit gibt es keinen Stand, auf den man sich berufen kann.
- Zwischengespeicherte Seiten bei der Betrachtung vergessen – sie zeigen den Stand ihres Vorrats, nicht den der Datenhaltung.
Worauf achten?
- Je Angabe festlegen, welche Verzögerung vertretbar ist, und diese Festlegung dokumentieren.
- Für Bestände und Preise eine Prüfung beim Bestellabschluss vorsehen, damit der letzte Stand entscheidet.
- Einen regelmäßigen Abgleich einrichten, der Abweichungen zählt und meldet, bevor Kunden sie bemerken.
- Die Cache-Invalidierung in die Betrachtung einbeziehen, weil sie eigene Verzögerungen erzeugt.
- Bei jeder neuen Anbindung prüfen, welche Angaben sie berührt und ob die bisherigen Festlegungen noch tragen.
Häufig gestellte Fragen
Müssen alle Angaben sofort übereinstimmen?
Nein. Beschreibende Angaben dürfen hinterherlaufen, ohne dass es auffällt. Preise, Bestände und Bestellzustände wirken sich dagegen unmittelbar aus und brauchen einen engen Takt oder eine Prüfung beim Abschluss.
Woran fällt eine Abweichung auf?
An einem regelmäßigen Abgleich, der beide Stände vergleicht und Unterschiede zählt. Ohne ihn bemerkt eine Abweichung im Zweifel der Kunde, und die Klärung beginnt mit der Suche nach dem verbindlichen Stand.
Was hat Zwischenspeicherung damit zu tun?
Eine zwischengespeicherte Seite zeigt den Stand ihres Vorrats. Selbst wenn beide Systeme übereinstimmen, kann die Anzeige veraltet sein, solange der Eintrag im Zwischenspeicher nicht verworfen wurde.