Nie taki diabeł straszny, czyli co to jest Event Sourcing

planowanie zarządzanie

Event Sourcing w świecie IT to ostatnio bardzo modne i często powtarzane hasło. Nic dziwnego, ma naprawdę wiele zalet. Ale czym właściwie jest Even Sourcing? Mówiąc najprościej, jest to sposób tworzenia systemów, opartych na przetwarzaniu zdarzeń. I chociaż wielu uważa, że to trudna koncepcja, to tak naprawdę Event Sourcing jest świetnym narzędziem, które dobrze użyte, może przynieść wiele korzyści przy naprawdę niewielkim koszcie obsługi.

Dlaczego warto zaprzyjaźnić się z Event Sourcingiem?

Najważniejsza kwestia to ta dotycząca trudności. Event Sourcing odstrasza przy pierwszym zapoznaniu, bo wydaje się być trudny w obsłudze. Nic bardziej mylnego – wystarczy zmienić sposób myślenia, żeby przekonać się, że to bardzo efektywna koncepcja. Polega na tym, że wszystkie zdarzenia, które składają się na ostateczną formę danego obiektu czy też aplikacji, są zapisane w swojego rodzaju dzienniku. Tym dziennikiem jest właśnie Event Sourcing. Architektura Event Sourcingu pozwala cofnąć się do konkretnych zdarzeń i zdobyć na ich temat wiedzę. Można śmiało powiedzieć, że bazuje ona na storytellingu, co jest korzystne dla procesów biznesowych. Dlaczego? Ponieważ pozwala maksymalnie uprościć komunikację projektową.

Event Sourcing upraszcza, nie utrudnia

Jest wiele opinii, które przeczą temu, że Event Sourcing upraszcza projektowanie, a jest zupełnie odwrotnie. Dzięki temu, że porządkuje następujące po sobie zdarzenia, daje jasny pogląd na zachodzące procesy. Wykorzystywanie dodatkowo wzorców takich, jak CQRS, Domain Driven Design, wspomaga działanie systemów informatycznych i ułatwia ich utrzymanie. Warto jednak pamiętać, że choć te metodyki świetnie ze sobą współgrają, nie jest konieczne korzystać ze wszystkich na raz. Event Sourcing nie narzuca też żadnego konkretnego sposobu gromadzenia i przechowywania baz danych. Istotne jest tutaj wyłącznie zapis następujących po sobie zdarzeń. Jest to klucz do zrozumienia ES. Stosowana jest tu agregacja, czyli dokładne zapisywanie jednego zdarzenia po drugim. Uzyskujemy w ten sposób stan obiektu, a więc tak zwaną projekcję. Zdarzenia można zapisać w tabeli w postaci wiersza, zaś projekcje jako wiersz zdarzeń w tabeli relacyjnej. Umożliwia to logiczny i przejrzysty podział pracy, nie wymaga jednak wbrew pozorom posiadania dwóch baz danych.

Event Sourcing naprawdę jest wydajny

Event Sourcing opiera się na 2 założeniach: zdarzenia są niezmienialne (immutable) oraz zdarzenia dodawane są jedno za drugim (append only). U podstaw metody Event Sourcingu znajduje się storage, a założenia, na których opiera się ES pozwalają zwiększyć jego wydajność dzięki optymalizacji. W gruncie rzeczy Event Sourcing może okazać się dużo szybszy niż tradycyjne rozwiązania. Fakt, że oprogramowanie ES nie jest banalnie proste, ostatecznie to system rozproszony, ale które oprogramowanie jest proste? Wszystko zależy od tego, jak podejdziemy do tematu.

Po więcej informacji zapraszamy na stronę: https://www.euvic.com/pl/event-sourcing-bez-tajemnic/.