become our partner

Dark side of Event Sourcing

The Program Committee has not yet taken a decision on this talk

Denis Tsvettsikh



I will share my experience in event sourcing and show some pitfalls of this approach:
- EventSourcing terminology (event, stream, snapshot, projection)
- Technical advantages of events storing in comparison of storing states
- Is it possible to implement EventSourcing without CQRS?
- Is it possible to use transactional consistency instead of eventual consistency with Event Sourcing?
- Which business tasks can be more effective solved using EventSourcing
- How to avoid snapshot expiration
- The fastest way to build SQL projections
- Myths about Event Sourcing (it allows to avoid soft delete, events allows to do any analysis)
- Typical problems which has another solution with EventSoucing
* unable to remove user's events with sensitive data so events are encrypted and removed encryption key
* it is difficult to implement unique constraints
* unable to load aggregate with any relations, only data from stream
* HTTP Patch doesn't work
* projections shouldn't have unique indexes and foreign keys
* production data anonymizer should fill new event store with anonymized events

Also I will show Event Sourcing frameworks like Marten, describe its pros and cons, and does it make sense to use it in production.