DDD, Event Sourcing und CQRS mit Golo Roden von the native web
- // Podcast
- // Deep Dive 57
Shownotes
Was vereint DDD, Event Sourcing und CQRS und wieso kann ihre Kombination zu einem besseren Entwicklungsprozess beitragen? In dieser Folge sprechen wir mit Golo Roden über das große Potenzial der Vereinigung eigentlich unabhängiger Konzepte – Domain-driven Design, Event Sourcing und Command-Query-Responsibility-Segregation (CQRS). Golo ist Gründer von the native web und einer der Entwickler:innen von wolkenkit – einem Open-Source-Tool, das genau diese Methoden miteinander vereint. Im ersten Schritt erklärt er, wie man mit Domain-driven Design eine bessere Zusammenarbeit in der Entwicklung schaffen kann, die auch in interdisziplinären Teams für Kommunikation auf Augenhöhe sorgt. Mit Event Sourcing erzählt uns Golo von einem Verfahren zur Speicherung von Daten, das sich vom klassischen CRUD-Konzept (Create, Read, Update, Delete) durch feingranularere Zugriffsmöglichkeiten abgrenzt. Es ermöglicht die Speicherung jeder Veränderung der Datenbank und macht die Wiederherstellung älterer Zustände zum Kinderspiel. Mit CQRS spricht Golo über ein Prinzip von Datenbankarchitekturen, die gut skalierbar und mit Event Sourcing nicht nur indirekt kombinierbar sind. Hier wird zwischen Command und Query unterschieden, was eine individuelle Anpassung von Schreib- und Leserechten bietet und sich so in die Struktur unterschiedlicher Entwicklungsszenarien einfügt.
Literatur, über die wir sprachen:
- Eric Evans (2003): Domain-driven Design. Das sogenannte Blue Book.
- Vaughn Vernon (2013): Implementing Domain-driven Design. Das sogenannte Red Book.
- Gregor Hohpe (2004): Starbucks Does Not Use Two-Phase Commit.
Golos Tipp: Wenn ihr von JavaScript zu TypeScript migrieren wollt, definiert ein Type Alias zu “any” als “todo”. So wisst ihr zu jedem Zeitpunkt, wo ihr noch Änderungen vornehmen müsst!
Timecodes:
(01:58) Was ist CQRS?
(02:44) Golo über sich und seine Mission
(06:58) Kommunikation in interdisziplinären Teams
(18:37) the native web
(21:28) Domain-driven Design
(44:21) Event Sourcing
(01:03:56) Datenbankarchitekturen
(01:19:44) Wolkenkit
(01:23:08) Pick of the Day
Bestimmt die nächste Podcastfolge mit!
Am Mittwoch, den 1. April 2020, nehmen wir erstmalig im Livestream mit euch zusammen eine neue Podcastfolge auf. Seid dabei und stellt uns eure Fragen!