SA Шпаргалка

Все ответы в 2 клика

Продвинутый

Что такое Snapshot (Снимок) в паттерне Event Sourcing и зачем он нужен?

В Event Sourcing текущее состояние сущности вычисляется путем последовательного применения всех исторических событий (например, 10 000 транзакций по банковскому счету за 5 лет).

Проблема: Читать и "проигрывать" 10 000 событий при каждом запросе баланса — слишком медленно.

Решение (Snapshot):
Система периодически (например, каждые 100 событий) делает Снимок текущего состояния и сохраняет его.
Теперь, чтобы получить баланс, системе нужно загрузить последний Snapshot (состояние на 100-м событии) и применить к нему только новые события (со 101-го по текущее). Это кардинально ускоряет чтение.

Сложная тема? Разберём на мок-интервьюЗаписаться на менторство →

Ещё вопросы раздела «Архитектура»

Все вопросы раздела «Архитектура»