Hector Ordonez
Hector Ordonez

Reputation: 1104

How to handle deployments of projections in large event source systems?

In an event source system with, say, 100 million events, introducing a new projection can take hours or days to build.

The theory on event sourcing does not seem to address this aspect. Releasing a new build containing a new projection is just not possible; the new projection will not be available.

Upvotes: 0

Views: 30

Answers (1)

VoiceOfUnreason
VoiceOfUnreason

Reputation: 57307

In an event source system with, say, 100 million events, introducing a new projection can take hours or days to build.

Yes, it might.

Releasing a new build containing a new projection is just not possible; the new projection will not be available.

a) That's always possible anyway, and any code that you have with a dependency on the projection will need to handle that possibility (assuming that reliance is a priority in your design

b) You don't have to release feature-that-needs-the-slow-projection while the projection is catching up; build a time budget with a buffer into your release plan, and use the monitoring tools that you released with the projection to verify that the data is available before you release the traffic that depends on it.

(One reason to distinguish "deploy" from "release" is so that you have the flexibility to do this on those occasions where it is necessary.)

Upvotes: 1

Related Questions