Jump to content

Магазин событий

Хранилище событий — это тип базы данных , оптимизированный для хранения событий.

Концептуально, хранилище событий записывает только события, влияющие на объект , досье или политику , а состояние объекта в любой момент его истории может быть восстановлено путем воспроизведения входящих в него событий в последовательном порядке. События (и соответствующие им данные ) — единственные «реальные» факты, которые должны храниться в базе данных. Все остальные объекты могут быть получены из этих событий, то есть при необходимости они создаются в памяти с помощью кода времени выполнения (например, для отображения в пользовательском интерфейсе ). Теоретически любой объект, который объединяет записанные данные о событиях, не сохраняется в базе данных. Вместо этого эти объекты создаются « на лету », просматривая историю событий. Когда экземпляр агрегированного объекта больше не нужен, его можно просто удалить (освободить из памяти).

Пример со страховыми полисами [ править ]

Например, концепция хранилища событий в базе данных может быть применена к страховым полисам или пенсионным досье. В этих политиках или досье может быть получена реализация каждого объекта, составляющего досье или политику ( человек , партнер (ы), занятость и т. д.), и она может быть создана в памяти на основе событий реального мира.

Двойная временная шкала [ править ]

Важнейшей частью базы данных хранилища событий является то, что каждое событие имеет двойную временную шкалу : это позволяет хранилищам событий исправлять ошибки событий, которые были введены в базу данных хранилища событий ранее.

Две даты:

  • Дата действия — это дата, когда событие стало действительным.
  • Дата транзакции — это дата внесения события в базу данных.

Исправление ошибок [ править ]

Другая важная часть базы данных хранилища событий заключается в том, что сохраненные события не могут быть изменены. После сохранения ошибочные события больше не изменяются. Единственный способ изменить (или, лучше сказать, исправить) эти события — создать экземпляр нового события с новыми значениями и использовать двойную временную шкалу. Корректирующее событие будет иметь новые значения исходного события с данными этого исправленного события, но другую дату транзакции. Этот механизм обеспечивает воспроизводимость в каждый момент времени, даже в период времени, предшествующий проведению коррекции. Также позволяет воспроизводить ситуации на основе ошибочных событий (при необходимости).

Преимущества и недостатки [ править ]

Одним из преимуществ концепции хранилища событий является то, что обработка последствий событий, датированных задним числом (событий, которые вступают в силу до предыдущих событий и которые могут даже сделать их недействительными), значительно упрощается.

Хранилище событий упростит код, поскольку откат ошибочных ситуаций и накатывание новых, правильных ситуаций больше не нужны.

Недостаток может заключаться в том, что коду необходимо повторно создавать экземпляры всех объектов в памяти на основе событий каждый раз, когда поступает вызов службы для определенного досье или политики.

По сравнению с обычными базами данных [ править ]

В обычных базах данных обработка событий, датированных задним числом, для исправления предыдущих ошибочных событий может быть болезненной, поскольку это часто приводит к откату всех предыдущих ошибочных транзакций и объектов и свертыванию новых, правильных транзакций и объектов. В хранилище событий хранятся только новые события (и соответствующие им факты). Затем код переопределит транзакции и объекты на основе новых фактов в памяти.

См. также [ править ]

  • Временная база данных — база данных, в которой хранятся данные, относящиеся к моментам времени (например, прошлому, настоящему и будущему), для определения транзакций, действительности или решений.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fab2a9236b7b06e13257c4c88fd70fe5__1689002340
URL1:https://arc.ask3.ru/arc/aa/fa/e5/fab2a9236b7b06e13257c4c88fd70fe5.html
Заголовок, (Title) документа по адресу, URL1:
Event store - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)