Хранилище событий

редактировать

Событие store - это тип базы данных, оптимизированный для хранения событий.

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

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

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

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

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

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

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

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

Внешние ссылки

См. Также

Последняя правка сделана 2021-05-19 08:36:08
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте