6. O persystencji agregatów z Kubą Pilimonem
Materiały do odcinka:Versioning in an Event Sourced System, Greg YoungPrezentacja Łukasza Szydło z Boiling Frogs 2020 DDD - o jeden krok za daleko. Nie wspominaliśmy tej prezentacji w odcinku, ale zdecydowanie jest warta polecenia. Łukasz omawia w niej swoje doświadczenia z różnymi podejściami do persystencji. Nagranie z konferencji chyba jeszcze się nie ukazało...Patterns, Principles, and Practices of Domain-Driven Design, Scott Millett, Nick Tune, rozdział 21 "Aggregates Persistence Strategies"
Mariusz powita gościa Kuba i podziękowuje za odzewy na podcast. Rozmowa zaczyna się na temat prezystecji agregatów.
Kuba wyjaśnia, dlaczego prezystecja jest ważna i przedstawia dwie główne ścieżki: snapshoting i event sourcing.
Kuba i Mariusz omawiają kiedy warto wybierać snapshoting, a kiedy event sourcing, opierając się na driverach architektonicznych.
Kuba podaje przykład hybrydowego podejścia do prezystecji, gdzie początkowo używany jest snapshoting, a potem przejście do event sourcingu.
Kuba omawia zalety testowania agregatów w event sourcingu, w tym łatwiejsze testowanie i lepsza testowalność.
Kuba i Mariusz omawiają kwestię implementacji i toolingu, podkreślając, że nie wszystkie zespoły są gotowe do event sourcingu.
Kuba i Mariusz podkreślają, że decyzje dotyczące prezystecji powinny być lokalne i dopasowane do konkretnego kontekstu projektu.
Rozmowa przechodzi do omówienia wyboru bazy danych, w tym relacyjnej i dokumentowej, oraz konsekwencji tych decyzji.
Kuba opowiada o swoim doświadczeniu z eksperymentami technologicznymi i odpowiedzialności za utrzymanie rozwiązania na produkcji.
Kuba i Mariusz podkreślają, że najlepszym podejściem jest dopasowanie istniejących narzędzi do potrzeb projektu.
Rozmowa przechodzi na temat wyboru bazy danych i kwestii wydajności, zwracając się do głównego wątku.
Kuba i Mariusz opowiadają o warstwaniu projektu i miejscu bazy danych w tej strukturze.
Kuba i gość dyskutują o mapowaniu relacyjno-obiektowym, jego zaletach i wady, oraz o ORM-ach jako narzędziach do tego mapowania.
Kuba i gość poruszają temat event sourcingu, jego zaletach i wadach, oraz o decyzji, kiedy i jak utrwalać zmiany w agregatach.
Kuba i gość rozmawiają o znaczeniu pragmatyzmu w podejściu do persystencji agregatów i konsekwencjach wyboru między utrwalaniem stanu a kolejnych zmian.
Kuba i gość podsumowują rozmowę, podziękowując za udział w rozmowie i oceny, a następnie omawiają konsekwencje wyboru między snapshotingiem a event sourcingiem.
Kuba podziękowuje za udział w rozmowie i zaprasza do słuchania kolejnych odcinków.
Rozdziały i streszczenia generowane automatycznie. Pełna transkrypcja nie jest publikowana — wyszukaj frazę, aby zobaczyć dopasowane fragmenty.
Materiały do odcinka:
Versioning in an Event Sourced System, Greg YoungPrezentacja Łukasza Szydło z Boiling Frogs 2020 DDD - o jeden krok za daleko. Nie wspominaliśmy tej prezentacji w odcinku, ale zdecydowanie jest warta polecenia. Łukasz omawia w niej swoje doświadczenia z różnymi podejściami do persystencji. Nagranie z konferencji chyba jeszcze się nie ukazało...Patterns, Principles, and Practices of Domain-Driven Design, Scott Millett, Nick Tune, rozdział 21 "Aggregates Persistence Strategies"