Skip to content

Beiträge

Zentralisieren Sie Ihre Datenintegrität

4. Mai 2021 • 2 Min. Lesezeit

Zentralisieren Sie Ihre Datenintegrität

Systeme (d.h. Datenbanken), die ihre Datenintegrität verwalten, klingen nach gesundem Menschenverstand, und in einfachen Szenarien ist es auch gesunder Menschenverstand. Wenn jedoch die Geschäftsregeln komplex werden, ist es schwieriger, die Daten an einem zentralen Ort zu validieren.

Wenn ein System (d.h. eine Datenbank) die Form der Daten nicht mehr durchsetzen kann, muss etwas anderes die Lücke füllen. Wann könnte das passieren?

Das Telefonnummernformat in den USA ist (Vorwahl) (Präfix) – (Nummer), hier ist ein Beispiel: (734) 555-3212. Wir werden in diesem Artikel der Einfachheit halber über die Datenbank sprechen, aber der Datenspeicher muss nicht unbedingt eine Datenbank sein.

Telefonnummern in den USA haben immer zehn Ziffern (wir ignorieren die internationale Ziffer). Telefonnummern können in verschiedenen Formaten vorliegen:

  • xxx.xxx.xxxx
  • xxx-xxx-xxxx
  • (xxx) xxx-xxxx
  • (xxx) xxx.xxxx

Die meisten Datenbanken sind auf Datentypen (d.h. Zahlen, Strings, Daten usw.) beschränkt und unterstützen keine Formatierung. Viele Anwendungen entscheiden sich dafür, den String-Datentyp zu verwenden, um die Telefonnummer zu speichern. Der String-Datentyp akzeptiert jedoch JEDEN String. Um sicherzustellen, dass die Telefonnummer gültig ist, benötigen wir eine zusätzliche Validierungsebene.

In einer einzelnen Anwendung, die sich mit einer einzelnen Datenbank verbindet, wird die Datenvalidierung typischerweise in der Anwendung durchgesetzt.

Wenn Ihre Architektur auf zwei oder mehr Anwendungen wächst, die sich eine Datenbank teilen, können zwei Dinge passieren:

1. Jede Anwendung hat ihre eigene Datenvalidierung:

2. Es gibt einen zentralen Service, den die Anwendungen aufrufen, um die Daten zu validieren und zu persistieren:

Das Risiko der Datenvalidierung an mehreren Stellen besteht darin, dass die Validierungen möglicherweise nicht synchron sind. Ein gültiges Format für eine Anwendung ist möglicherweise nicht gültig in einer anderen Anwendung. Im schlimmsten Fall wird ein schlechtes Format einen Fehler auslösen oder in extremen Fällen die Anwendung zum Absturz bringen.

Der beste Fall ist, die Datenvalidierung zu zentralisieren, damit das in der Datenbank gespeicherte Format für die gesamte Organisation konsistent ist. Es gibt natürlich Ausnahmen, und ich gehe davon aus, dass mehrere Anwendungen auf eine gemeinsame Datenbasis lesen und schreiben.

Autor: Chuck Conway ist spezialisiert auf Software-Engineering und Generative KI. Verbinden Sie sich mit ihm in den sozialen Medien: X (@chuckconway) oder besuchen Sie ihn auf YouTube.

↑ Zurück nach oben

Das könnte dir auch gefallen