mongo db as event store

7
MongoDb as event store Alessandro Melchiori [email protected]

Upload: alessandro-melchiori

Post on 11-May-2015

711 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Mongo db as event store

MongoDb as event store

Alessandro Melchiori

[email protected]

Page 2: Mongo db as event store

MongoDb as event storeAlessandro Melchiori

{"firstName": "Alessandro",

"lastName": "Melchiori","role": "software architect @ codiceplastico",

"contacts": [ { "type": "email", "value": [email protected] },

{ "type": "twitter", "value": "@amelchiori" },{ "type": "blog",

"value":http://blog.codiceplastico.com/melkio } ]

}

[email protected]

Page 3: Mongo db as event store

MongoDb as event storeAlessandro Melchiori

• It’s really become clear to me in the last couple of years that we need a new building block and that is the Domain Events

(Eric Evans)

• State transition are an important part of our problem space and should be modeled within our domain

(Greg Young)

[email protected]

Page 4: Mongo db as event store

MongoDb as event storeAlessandro Melchiori [email protected]

1 2 3 4 5 6 ...

snapshot

Page 5: Mongo db as event store

MongoDb as event storeAlessandro Melchiori [email protected]

Pres

enta

tion

Laye

r

Serv

ice

Laye

r

Dom

ain

Mod

el

Write storage

Read storage

Page 6: Mongo db as event store

MongoDb as event storeAlessandro Melchiori [email protected]

MEMBER 01 MEMBER 02

MEMBER 03

LOCAL LOCAL

LOCAL

Page 7: Mongo db as event store

MongoDb as event storeAlessandro Melchiori [email protected]

{ "ts" : Timestamp(1363605458000, 2), "h" : NumberLong("4039405765251735075"), "v" : 2, "op" : "i", "ns" : "webdebs.Streams", "o" : { "HeadRevision" : 1, "SnapshotRevision" : 0, "Unsnapshotted" : 1, "_id" : BinData(3,"+KYFwLvnxkS8Lsuy6P562Q==") }}