Vom Wechsel von relationalen Daten zu Ereignissen
(event-driven.io)Leitfaden für den Wechsel von relationalen Daten zu Ereignissen
- In der Kirche des Event Sourcings werden Geschäftsdaten nicht verloren, sondern als Ereignisse bewahrt.
- Ereignisse stellen eingetretene Tatsachen dar und werden nach jeder Aktion gespeichert.
- Ein Event-Stream ist die Liste aller aufgezeichneten Ereignisse, ist unveränderlich und frühere Fehler können durch das Hinzufügen neuer Ereignisse korrigiert werden.
1. Statusspalten finden
- Die Werte von Statusspalten können Phasen im Lebenszyklus von Daten widerspiegeln.
- Zum Beispiel kann eine Bestellung gestartet, versendet und bezahlt werden.
- Diese Zustände können in Ereignisse wie Order Initiated, Order Shipped und Order Paid umgewandelt werden.
2. Datumsspalten prüfen
- Datumsspalten können Informationen über wichtige Ereignisse in einem Prozess liefern.
- ShipmentDate, DeliveryDate und OrderPlacementDate zeigen geschäftliche Begriffe auf und können helfen, neue Ereignisse einzuführen.
3. Selektivität von Spalten analysieren
- Nullable-Spalten können optional sein oder erst später bereitgestellt werden.
- Pflichtspalten sollten bereits im ersten Order Initiated-Ereignis enthalten sein.
4. Nach Tabellen mit den meisten 1:n-Beziehungen suchen
- Beim Event Sourcing werden Daten rund um Geschäftsprozesse gruppiert, um eine effiziente Verarbeitung zu erreichen.
- Tabellen mit vielen 1:n-Beziehungen können Kandidaten für Stream-Typen sein.
5. Explizite Ereignisse einführen
- Bei der Migration relationaler Daten in Ereignisse sollten neu entdeckte Ereignisse nicht während des Imports wiederverwendet werden; stattdessen sollte explizit ein Order Imported-Ereignis bereitgestellt werden.
6. Experimentieren und validieren
- Man sollte Prototypen in einer sicheren Umgebung ausprobieren, die Ergebnisse mit den Erwartungen vergleichen und ohne Hast iterativ vorgehen.
Meinung von GN⁺
- Das Wichtigste an diesem Artikel ist die Bedeutung eines neuen Ansatzes zur Bewahrung von Geschäftsdaten beim Übergang von relationalen Datenbanken zu Event Sourcing.
- Interessant ist der Artikel, weil er einen Weg zeigt, den Lebenszyklus von Daten besser zu verstehen und zu nutzen, statt bei herkömmlichen Methoden der Datenverwaltung zu bleiben.
- Event Sourcing kann nicht nur aus technischer Sicht nützlich sein, sondern auch dabei helfen, ein gemeinsames Verständnis zwischen Business- und Technikteams aufzubauen.
1 Kommentare
Hacker-News-Kommentar
Empfehlung für die Nutzung von PostgreSQL und FOSS-Reporting-Tools
Wann eine eventgetriebene Architektur sinnvoll ist
Geteilte skeptische Erfahrung mit Event Sourcing
Nützlichkeit von Domain Event Modeling
Fragen zur Implementierung von Event Sourcing
Bottom-up vs. Top-down, maßgeschneidert vs. allgemein einsetzbar
Unterstützung und Kritik an eventbasierter Architektur
Die Notwendigkeit von Relationen trotz Event Sourcing
Unterstützung für relationale Daten
Neue Erkenntnis zu eventgetriebenem Design