Slide 1

Slide 1 text

EventStore Play with events

Slide 2

Slide 2 text

Event Sourcing Persist our domain model by persisting just the events instead of the current state

Slide 3

Slide 3 text

Append Only Model When you update or delete data you lose information Events are the result of decisions, they should be immutable

Slide 4

Slide 4 text

Advantages No loss of information One source of true Go back in time Free audit logs Immutable data « Easy »migration Replay feature

Slide 5

Slide 5 text

But How to Store Events?

Slide 6

Slide 6 text

Event Store The open-source, functional database with Complex Event Processing in JavaScript.

Slide 7

Slide 7 text

No Table but Event Streams No giant stream Partitions by aggregate Million of streams is normal 5000 - 10000 events before any snapshot

Slide 8

Slide 8 text

Event Store Operations Append to a stream Read all or part of a stream Subscribe to a stream

Slide 9

Slide 9 text

What About Queries? You don’t query on events but on appropriate read model There is no best storage AKA all database sucks One model can’t be good for all scenarios

Slide 10

Slide 10 text

Read Models Events Graph Dd Document Db SQL Db

Slide 11

Slide 11 text

Clients HTTP Based on Atom feed HTTP content type negotiation HTTP persistent connection HTTP pipeline HTTP cache TCP .NET, Ruby, Java Really fast communication protocol

Slide 12

Slide 12 text

KEEP CALM IT’S DEMO TIME!!!

Slide 13

Slide 13 text

Thank you Any question?