📝 Что такое и как работает Event Store?

Показываю, как работает Event Store — важное понятие для паттерна Event Sourcing, про которое вас точно спросят на бэкенд-собеседовании. Event Store — это специальное хранилище, которое сохраняет не текущее состояние объекта, а всю последовательность событий, которые привели к этому состоянию. В отличие от обычной базы данных, где мы обновляем одну запись, в Event Store каждое новое событие просто добавляется в конец ленты. У каждого события есть идентификатор агрегата, тип события, данные и версия (порядковый номер). Благодаря этому можно перестроить состояние агрегата на любой момент времени, воспроизведя все события по порядку. Примеры Event Store: EventStoreDB, Apache Kafka в роли event log, или даже обычная реляционная база с таблицей events, где каждое событие — отдельная строка. Главные плюсы: полный аудит, возможность отката, воспроизведение событий для аналитики. Минусы: сложность с обновлением старых событий и потенциально большой объём данных. #eventstore #backend #backendinterview #designpatterns #codinginterview #techinterview #softwarearchitecture #eventsourcing

Иконка канала PurpleSchool
452 подписчика
12+
107 просмотров
6 дней назад
12+
107 просмотров
6 дней назад

Показываю, как работает Event Store — важное понятие для паттерна Event Sourcing, про которое вас точно спросят на бэкенд-собеседовании. Event Store — это специальное хранилище, которое сохраняет не текущее состояние объекта, а всю последовательность событий, которые привели к этому состоянию. В отличие от обычной базы данных, где мы обновляем одну запись, в Event Store каждое новое событие просто добавляется в конец ленты. У каждого события есть идентификатор агрегата, тип события, данные и версия (порядковый номер). Благодаря этому можно перестроить состояние агрегата на любой момент времени, воспроизведя все события по порядку. Примеры Event Store: EventStoreDB, Apache Kafka в роли event log, или даже обычная реляционная база с таблицей events, где каждое событие — отдельная строка. Главные плюсы: полный аудит, возможность отката, воспроизведение событий для аналитики. Минусы: сложность с обновлением старых событий и потенциально большой объём данных. #eventstore #backend #backendinterview #designpatterns #codinginterview #techinterview #softwarearchitecture #eventsourcing

, чтобы оставлять комментарии