Top Banner
Start Small Bigger Biggest The Event Driven Organisation Based on the Lambda Architecture
35

Start small bigger biggest

Jun 29, 2015

Download

Technology

Daan Gerits

The Event Driven Company
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Start small bigger biggest

Start Small Bigger BiggestThe Event Driven Organisation

Based on the Lambda Architecture

Page 2: Start small bigger biggest

Who Is That?

Daan Gerits

BigData.be co-organizer

[email protected]

@daangerits

Page 3: Start small bigger biggest

Who Is That?

BigData.be

Belgian BigData Group

Founded in juli 2011

+200 members

http://www.bigdata.be

http://www.meetup.com/bigdatabe

@bigdatabe

Page 4: Start small bigger biggest

Agenda

TransCo

The Event Driven OrganisationEventsViewsIntegration

Page 5: Start small bigger biggest

TransCo

Meet TransCoInternational Transport

Track & TraceFreelance DriversCustom SoftwareEnterprise Service Bus

Page 6: Start small bigger biggest

TransCo

DepartmentsITFinanceLegalLogisticsSalesCommunicationsMarketing...

Page 7: Start small bigger biggest

TransCo

A customer requests a quote

A server goes down

A website visitor clicks on a link

A financial transaction is booked

A delivery truck pings its GPS coördinates

Page 8: Start small bigger biggest

TransCo

All these have a similar thing:

They Generate Events

Page 9: Start small bigger biggest

Events

ITFinanceLegalLogisticsSalesCommunications...

Events

Page 10: Start small bigger biggest

Events

Events used to manipulate their master data

Page 11: Start small bigger biggest

Events

Today, events ARE their master data

Page 12: Start small bigger biggest

TransCo

Isn't this a big data presentation?

Hang on, We'll get to that

Page 13: Start small bigger biggest

Events

An event isTime basedRecord linkedField orientedIncrementalImmutable

Page 14: Start small bigger biggest

Events

A new customer is addedADD [ts=1,id=123,field="name",value="Daan Gerits"]

ADD [ts=1,id=123,field="address",value="MyStreet 40"]

A customer is updatedADD [ts=13,id=123,field="address",value="AnotherStreet 1"]

Eventually a customer is removedADD [ts=43,id=123,field="address",value=]

Page 15: Start small bigger biggest

Events

Notice I only created new records

No UpdatesNo Deletes

CRUD becomes CR

Page 16: Start small bigger biggest

Events

Oh no, I shouldn't have done that!DELETE [ts=43,id=123,field="address"]

Page 17: Start small bigger biggest

TransCo

Discover market trends

Application and server statistics

Direct Marketing

Financial validation

Tracking Dashboard

Page 18: Start small bigger biggest

Views

View = Fx All Data

Page 19: Start small bigger biggest

Views

View =

Page 20: Start small bigger biggest

Different View TypesReal-timeRelationalReportingApplicationAPI...

Views

Page 21: Start small bigger biggest

Views areFull data modelsBased on all dataFocussed

Views

Page 22: Start small bigger biggest

Integration

How do I integrate with my existing infrastructure?

Page 23: Start small bigger biggest

Views can also be stored in- RDBMS- Indexing Engine- Files- DataWarehouse- ...

But these views are read-only!If you want read-write use the API

Integration

Page 24: Start small bigger biggest

Big Data

So what has all this to do with Big Data?

Page 25: Start small bigger biggest

Only appending eventsneed to store a lot of data

=> HDFS, HBase, ...

need batch processing=> MapReduce, Pig, Hive, ...

need real-time processing=> Storm, S4, ...

Big Data

Page 26: Start small bigger biggest

Allows trendingdriver statistics for his whole career

Allows state regenerationthe state of all master data on februari 12, 2005

Is human-error-proofremove the last event on this record

Scales very well

Event Driven Organisation

Page 27: Start small bigger biggest

By storing events

By generating focussed views

Event Driven Organisation

Page 28: Start small bigger biggest

Thank you!Daan Gerits

@[email protected]

Page 29: Start small bigger biggest

Backup SlidesGenerating Views

Page 30: Start small bigger biggest

Views

Realtime Views

Page 31: Start small bigger biggest

Views

Latency

Page 32: Start small bigger biggest

Views

Generating takes time=> View is always x hours old

View Ready

Start Generating + + + ++

Page 33: Start small bigger biggest

Views

How to solve this?Store events in 2 locations

Master Data SetBuffer DB

Buffer DB has - data of last x hours- data, not events

Page 34: Start small bigger biggest

Views

Speed View

API

Batch View

Page 35: Start small bigger biggest

Views

Batch ViewsUse MapReduce

Speed ViewsUse Storm or something similar