2014-11-06 4 views
3

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

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

Каков стандартный подход для решения этой проблемы?

  1. Единственный случай, который инициализирует совокупность его текущего состояния
  2. Карта своего текущего состояния до серьезных событий и запустить их?
  3. Другой подход? Например. Его не очень хорошая идея

У кого-нибудь есть совет?

+1

Мы пошли для подхода с одним событием, например, 'XYImported'. –

ответ

2

Я бы рекомендовал для 1., например. сохраняя событие CustomerInitializedFromLegacyDB, имеющее существующие данные как полезную нагрузку.

+0

Любая причина для этого более 2? Это почти наверняка легче. Одно дополнительное событие и стоимость манипулирования агрегатом в ряд событий. – GraemeMiller