Download - Event Sourcing - Greg Young
![Page 1: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/1.jpg)
Event SourcingGreg Young
![Page 2: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/2.jpg)
![Page 3: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/3.jpg)
![Page 4: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/4.jpg)
![Page 5: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/5.jpg)
Event Sourcing says all state is transient and you
only store facts.
![Page 6: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/6.jpg)
Purchase Order
Line Items (n)
Shipping Information
![Page 7: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/7.jpg)
Cart Created
3 Items Added
Shipping Information Added
![Page 8: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/8.jpg)
![Page 9: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/9.jpg)
Cart Created
3 Items Added
1Item Removed
Shipping Information Added
![Page 10: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/10.jpg)
![Page 11: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/11.jpg)
6
5
4
3
2
1
7
![Page 12: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/12.jpg)
5
snap
4
3
2
1
6
![Page 13: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/13.jpg)
![Page 14: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/14.jpg)
I can’t query a series of events
![Page 15: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/15.jpg)
Focus on strategic design first.
![Page 16: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/16.jpg)
Focus on strategic design first.
![Page 17: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/17.jpg)
There is no “Best” storage
![Page 18: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/18.jpg)
Focus on strategic design first.
![Page 19: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/19.jpg)
Focus on strategic design first.
Id ParentId Data
1 0 Parent
2 1 Child1
3 1 Child2
![Page 20: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/20.jpg)
Focus on strategic design first.
Id ParentId0 ParentId1 ParentId2 ParentId3 ParentId4 Data
1 0 0 0 0 0 Parent
2 1 0 0 0 0 Child1
3 1 2 0 0 0 Child2
![Page 21: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/21.jpg)
Wrong models cause accidental complexity
![Page 22: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/22.jpg)
Client
Domain
OLAP
GraphDb
StreamProcessing
Events
Hibernate
![Page 23: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/23.jpg)
Event Sourced Systems need a service bus
![Page 24: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/24.jpg)
Client
Domain
Bus
OLAP
GraphDb
StreamProcessing
publish
3nf
Hibernate
![Page 25: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/25.jpg)
Client
Domain
Bus
OLAP
GraphDb
StreamProcessing
publish
3nf
Hibernate
![Page 26: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/26.jpg)
Client
Domain
Bus
OLAP
GraphDb
StreamProcessing
publish
3nf
Hibernate
New Model?
![Page 27: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/27.jpg)
Client
Domain
OLAP
GraphDb
StreamProcessing
Events
Hibernate
![Page 28: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/28.jpg)
Client
Domain
OLAP
GraphDb
StreamProcessing
Events
Hibernate
New Model?
![Page 29: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/29.jpg)
Event Sourcing is more complex!
![Page 30: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/30.jpg)
What big companies are using Event Sourcing?Because obviously we make our decisions this way!
![Page 31: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/31.jpg)
Event Sourced systems must be slow
![Page 32: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/32.jpg)
Event Sourced systems must be object oriented
![Page 33: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/33.jpg)
What is the “bestest” Event Sourcing
framework ever?
![Page 34: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/34.jpg)
But what about all my data with Event Sourcing
it must be huge!If it fits on a micro-SD its not big data.
![Page 35: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/35.jpg)
CQRS is just a teaching pattern!
![Page 36: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/36.jpg)
Event Sourced systems must be slow
![Page 37: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/37.jpg)
Event Sourced systems must be object oriented
![Page 38: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/38.jpg)
But what about all my data with Event Sourcing
it must be huge!
![Page 39: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/39.jpg)
Event Sourcing isn’t “enterprisey”
![Page 40: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/40.jpg)
Event Sourcing isn’t “enterprisey”
THANKS!
![Page 41: Event Sourcing - Greg Young](https://reader033.vdocument.in/reader033/viewer/2022052203/5598e4b91a28aba07d8b476e/html5/thumbnails/41.jpg)
No really Thanks!