event sourcing - greg young

41
Event Sourcing Greg Young

Upload: jaxlondon2014

Post on 05-Jul-2015

314 views

Category:

Presentations & Public Speaking


1 download

DESCRIPTION

JAX London Presentation 2014

TRANSCRIPT

Page 1: Event Sourcing - Greg Young

Event SourcingGreg Young

Page 2: Event Sourcing - Greg Young
Page 3: Event Sourcing - Greg Young
Page 4: Event Sourcing - Greg Young
Page 5: Event Sourcing - Greg Young

Event Sourcing says all state is transient and you

only store facts.

Page 6: Event Sourcing - Greg Young

Purchase Order

Line Items (n)

Shipping Information

Page 7: Event Sourcing - Greg Young

Cart Created

3 Items Added

Shipping Information Added

Page 8: Event Sourcing - Greg Young
Page 9: Event Sourcing - Greg Young

Cart Created

3 Items Added

1Item Removed

Shipping Information Added

Page 10: Event Sourcing - Greg Young
Page 11: Event Sourcing - Greg Young

6

5

4

3

2

1

7

Page 12: Event Sourcing - Greg Young

5

snap

4

3

2

1

6

Page 13: Event Sourcing - Greg Young
Page 14: Event Sourcing - Greg Young

I can’t query a series of events

Page 15: Event Sourcing - Greg Young

Focus on strategic design first.

Page 16: Event Sourcing - Greg Young

Focus on strategic design first.

Page 17: Event Sourcing - Greg Young

There is no “Best” storage

Page 18: Event Sourcing - Greg Young

Focus on strategic design first.

Page 19: Event Sourcing - Greg Young

Focus on strategic design first.

Id ParentId Data

1 0 Parent

2 1 Child1

3 1 Child2

Page 20: Event Sourcing - Greg Young

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

Wrong models cause accidental complexity

Page 22: Event Sourcing - Greg Young

Client

Domain

OLAP

GraphDb

StreamProcessing

Events

Hibernate

Page 23: Event Sourcing - Greg Young

Event Sourced Systems need a service bus

Page 24: Event Sourcing - Greg Young

Client

Domain

Bus

OLAP

GraphDb

StreamProcessing

publish

3nf

Hibernate

Page 25: Event Sourcing - Greg Young

Client

Domain

Bus

OLAP

GraphDb

StreamProcessing

publish

3nf

Hibernate

Page 26: Event Sourcing - Greg Young

Client

Domain

Bus

OLAP

GraphDb

StreamProcessing

publish

3nf

Hibernate

New Model?

Page 27: Event Sourcing - Greg Young

Client

Domain

OLAP

GraphDb

StreamProcessing

Events

Hibernate

Page 28: Event Sourcing - Greg Young

Client

Domain

OLAP

GraphDb

StreamProcessing

Events

Hibernate

New Model?

Page 29: Event Sourcing - Greg Young

Event Sourcing is more complex!

Page 30: Event Sourcing - Greg Young

What big companies are using Event Sourcing?Because obviously we make our decisions this way!

Page 31: Event Sourcing - Greg Young

Event Sourced systems must be slow

Page 32: Event Sourcing - Greg Young

Event Sourced systems must be object oriented

Page 33: Event Sourcing - Greg Young

What is the “bestest” Event Sourcing

framework ever?

Page 34: Event Sourcing - Greg Young

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

CQRS is just a teaching pattern!

Page 36: Event Sourcing - Greg Young

Event Sourced systems must be slow

Page 37: Event Sourcing - Greg Young

Event Sourced systems must be object oriented

Page 38: Event Sourcing - Greg Young

But what about all my data with Event Sourcing

it must be huge!

Page 39: Event Sourcing - Greg Young

Event Sourcing isn’t “enterprisey”

Page 40: Event Sourcing - Greg Young

Event Sourcing isn’t “enterprisey”

THANKS!

Page 41: Event Sourcing - Greg Young

No really Thanks!