Přeskočit na obsah

Log je pravda, projekce je odvozená

Rejstřík publikuje neměnný, číselně uspořádaný proud akcí. Systém, který si z něj udělá jen aktuální tabulku, zahodí jedinou vlastnost, kterou zdroj dává zadarmo — možnost vrátit se k tomu, co bylo řečeno, a přečíst to znovu jinak.

Replika
append-only log akcí, idempotentní podle ID akce
Projekce
odvozená, kdykoli znovu postavitelná, nikdy ručně nepatchovaná
Oprava
oprav projektor, zvyš jeho verzi, přehraj z logu
Stav
archiv feedu existuje; replika a projektor v databázi jsou plánované (fáze 1)

Co je nedotknutelné

Replika a úložiště dokumentů. Všechno ostatní je odvozené a znovu postavitelné, a zálohovací politika neplyne z ničeho jiného než z téhle věty.

Proč to není jen otázka elegance

Interpretace zdroje se bude měnit — u dokumentů, které jsou převážně skeny, se mění pokaždé, když se najde nový tvar formuláře. Kdyby oprava interpretace znamenala znovu stáhnout rejstřík, narazila by na strop 3000 požadavků denně a tým by ji odložil.

Odložená oprava je ve skutečnosti neprovedená oprava. Přehrání logu z toho dělá rutinní operaci, která nikoho nic nestojí a nikoho o nic neprosí.

Co se tím nezískává

Event sourcing neřeší, jestli je interpretace správná. Řeší jen to, že se dá opravit. Kvalita dat pořád stojí na extrakci, prahu spolehlivosti a lidské kontrole.

Kde to v repozitáři žije

Souvisí

Zpět na sekci O projektu