если у тебя event sourcing, то в теории ты можешь в БД сложить ивенты, и они будут иммутабельны...
а для вычисления стейта у тебя вынуждено будет обзёрвер, но не какой-то хрен пойми сбоку, как в задаче про два стула выше, а родной, понятный и потому тоже редко изменяемый