Mentionsy Mentionsy
Better Software Design
Better Software Design

6. O persystencji agregatów z Kubą Pilimonem

21.05.2020 ·1 godz 5 min · 17 rozdziałów

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"

Wprowadzenie i powitanie

Mariusz powita gościa Kuba i podziękowuje za odzewy na podcast. Rozmowa zaczyna się na temat prezystecji agregatów.

2:46
Analiza potrzeby prezystecji agregatów

Kuba wyjaśnia, dlaczego prezystecja jest ważna i przedstawia dwie główne ścieżki: snapshoting i event sourcing.

2:55
Wybór strategii prezystecji

Kuba i Mariusz omawiają kiedy warto wybierać snapshoting, a kiedy event sourcing, opierając się na driverach architektonicznych.

1:44
Hybrydowe podejście do prezystecji

Kuba podaje przykład hybrydowego podejścia do prezystecji, gdzie początkowo używany jest snapshoting, a potem przejście do event sourcingu.

4:50
Testowanie agregatów w event sourcingu

Kuba omawia zalety testowania agregatów w event sourcingu, w tym łatwiejsze testowanie i lepsza testowalność.

3:42
Kwestia implementacji i toolingu

Kuba i Mariusz omawiają kwestię implementacji i toolingu, podkreślając, że nie wszystkie zespoły są gotowe do event sourcingu.

1:31
Decyzje lokalne w architekturze

Kuba i Mariusz podkreślają, że decyzje dotyczące prezystecji powinny być lokalne i dopasowane do konkretnego kontekstu projektu.

1:32
Wybór bazy danych

Rozmowa przechodzi do omówienia wyboru bazy danych, w tym relacyjnej i dokumentowej, oraz konsekwencji tych decyzji.

3:37
Eksperymenty i odpowiedzialność

Kuba opowiada o swoim doświadczeniu z eksperymentami technologicznymi i odpowiedzialności za utrzymanie rozwiązania na produkcji.

4:10
Zalecane podejście do implementacji

Kuba i Mariusz podkreślają, że najlepszym podejściem jest dopasowanie istniejących narzędzi do potrzeb projektu.

0:24
Dygresja na temat baz danych

Rozmowa przechodzi na temat wyboru bazy danych i kwestii wydajności, zwracając się do głównego wątku.

2:32
Warstwowanie projektu

Kuba i Mariusz opowiadają o warstwaniu projektu i miejscu bazy danych w tej strukturze.

0:53
Mapowanie relacyjno-obiektowe

Kuba i gość dyskutują o mapowaniu relacyjno-obiektowym, jego zaletach i wady, oraz o ORM-ach jako narzędziach do tego mapowania.

6:23
Event sourcing

Kuba i gość poruszają temat event sourcingu, jego zaletach i wadach, oraz o decyzji, kiedy i jak utrwalać zmiany w agregatach.

23:33
Pragmatyzm i przygotowanie na zmiany

Kuba i gość rozmawiają o znaczeniu pragmatyzmu w podejściu do persystencji agregatów i konsekwencjach wyboru między utrwalaniem stanu a kolejnych zmian.

3:18
Analiza driverów architektonicznych

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.

1:17
Podziękowania i perspektywy

Kuba podziękowuje za udział w rozmowie i zaprasza do słuchania kolejnych odcinków.

0:05

Rozdziały i streszczenia generowane automatycznie. Pełna transkrypcja nie jest publikowana — wyszukaj frazę, aby zobaczyć dopasowane fragmenty.