CQRS, Read Models, Search und Reporting
Schreibmodell sauber halten, Lesemodelle gezielt aufbauen, Suche und Reporting entkoppeln.
CQRSRead ModelSearchReporting
Write Model schützen
CQRS bedeutet nicht automatisch Event Sourcing. Oft reicht es, ein sauberes Write Model mit separaten Read Models für Suche, Listen und Reporting zu kombinieren.
Read Model Rebuild
Ein gutes Lesemodell kann neu aufgebaut werden. Deshalb braucht es Projektion, Rebuild-Prozess, Versionierung und Messung von Lag.
Matrix
| Use Case | Modell | Hinweis |
|---|---|---|
| Bestellung anlegen | Write Model | Transaktion + Invarianten |
| Bestellliste filtern | Read Model | denormalisiert |
| Volltextsuche | Search Index | asynchron aktualisiert |
| Monatsreport | Reporting Store | nicht aus OLTP erzwingen |
Praxisübertragung auf das V4-Beispielprojekt
Entscheidung
Dokumentiere die getroffene Architekturentscheidung als ADR, inklusive Alternativen, Folgen und Betriebsrisiken.
Code-Nachweis
Markiere verwendete Entwurfsmuster direkt im Code und ergänze sie in docs/design-patterns.md.
Betrieb
Definiere Metrik, Alert, Runbook-Schritt und Rollback-Option für diesen Bereich.
Typische Fehlerbilder
- Framework-Feature wird eingesetzt, ohne fachliche Grenze zu verstehen.
- Technische Wiederholung wird nicht idempotent gemacht.
- Observability wird erst nach Produktionsproblem ergänzt.
- Tests prüfen nur Happy Path und keine Wiederanläufe.