SlideShare a Scribd company logo
Exactly Once Processing
The Sad Truth
Yair Weinberger
alooma | CTO
@yairwein
#TLVDataPlumbers
● Create a community of data plumbers
● "The best minds of my generation are deleting
commas from log files, and that makes me sad."
@medriscoll, http://adage.com/...
● “For Big-Data Scientists, ‘Janitor Work’ Is Key Hurdle
to Insights” @mrogati, http://www.nytimes.com/2014/08/18/...
● “It’s time to take care of our clogged data plumbing”,
Tom Davenport, http://venturebeat.com/2014/09/18/...
A real-time platform that abstracts the data layer
Mobile
Servers
Sensors
Devices
tons of plumbing to
make it work
Unscalable Rigid Leaky Slow
Analytics Personalization Monitoring And more…
A real-time platform that abstracts the data layer
Scalable Flexible Reliable Fast
Servers
Sensors
Devices
Mobile
Analytics Personalization Monitoring And more…
Exactly Once Semantics
Same goes for exactly-once semantics
Maybe exists Does not exist
TLV Data Plumbers: Exactly once processing
TLV Data Plumbers: Exactly once processing
TLV Data Plumbers: Exactly once processing
TLV Data Plumbers: Exactly once processing
TLV Data Plumbers: Exactly once processing
storm + trident
● What is storm?
● What is trident? (what is transaction)
Exactly once processing - storm + trident
Common myths
● We use trident, so we guarantee “exactly once”
● If a tuple in a transaction failed, the whole
transaction will be repeated, and the computation
done on the transaction so far will be discarded
● Someone already put up a working transactional
state
Transactional state is hard (impossible?)
● Trident States
Even if the backing store is transactional!
Theory:
- begin commit => begin transaction in the backing store
- update state => write to the backing store
- commit => commit in the backing store
Practice:
- This only works for single-threaded states!
- commit is called once per thread
Experience:
- Even in single threaded state, the thread can crash
between commit to the backing store and ack
Fake it ‘till you make it
Idempotency to the rescue
Fake it ‘till you make it
Idempotency to the rescue
Simple (non distributed) example: TCP sequence numbers
Fake it ‘till you make it
Idempotency to the rescue
Simple (non distributed) example: TCP sequence numbers
Fake it ‘till you make it
Idempotency to the rescue
Simple (non distributed) example: TCP sequence numbers
Fake it ‘till you make it
Idempotency to the rescue
Simple (non distributed) example: TCP sequence numbers
Fake it ‘till you make it
Idempotent distributed examples
- Database with primary key (INSERT … IGNORE)
- Kafka with log compaction
Kafka Log Compaction
● Stores only the most recent message per key, thus
idempotent.
● We can achieve exactly once even without
transactional state!
Exactly once - with idempotence
Maybe exists Does not exist
Questions?
https://storm.apache.org/documentation/Trident-state
https://cwiki.apache.org/confluence/display/KAFKA/Log+Compaction
http://bravenewgeek.com/you-cannot-have-exactly-once-delivery/
Storm Real-Time Processing Cookbook, Quinton Anderson
https://github.com/quintona/trident-kafka-
push/blob/master/src/main/java/com/github/quintona/KafkaState.java
Resources

More Related Content

PPTX
Designing a Docker Stack for Symfony apps: lessons learned
PPTX
Keeping MongoDB Data Safe
PDF
Truly madly deeply parallel ruby applications
PPTX
How to Keep Your Data Safe in MongoDB
PPTX
Rabbits, indians and... Symfony meets queueing brokers
PPT
Debugging rails
PDF
All Aboard The Stateful Train
PPTX
Felt - Front end load testing
Designing a Docker Stack for Symfony apps: lessons learned
Keeping MongoDB Data Safe
Truly madly deeply parallel ruby applications
How to Keep Your Data Safe in MongoDB
Rabbits, indians and... Symfony meets queueing brokers
Debugging rails
All Aboard The Stateful Train
Felt - Front end load testing

Viewers also liked (15)

PPTX
Ova c groepswerk[1]anne jooren 2_lo
PPTX
Jezierski plumbing & heating presentation
PDF
HALIM HANI HH-SP-P0001-SanPan Plumbing Total Solution Presentation
PDF
Gaswise Plumbing & Heating BNI Presentation
PPT
Presentation on Case Study "Danhart Plumbing company".
PPTX
Plumbing presentation by Jose Anacleto Soberano
PPTX
Plumbing system
PDF
Services report - plumbing, electrical and hvac
PDF
Archit x1 building services 1
PPTX
Patterns for distributed systems
PDF
Cloud Native Camel Design Patterns
PPTX
plumbing
PDF
Basic Plumbing System
PPSX
Plumbing in Architecture
PDF
Presentation plumbing
Ova c groepswerk[1]anne jooren 2_lo
Jezierski plumbing & heating presentation
HALIM HANI HH-SP-P0001-SanPan Plumbing Total Solution Presentation
Gaswise Plumbing & Heating BNI Presentation
Presentation on Case Study "Danhart Plumbing company".
Plumbing presentation by Jose Anacleto Soberano
Plumbing system
Services report - plumbing, electrical and hvac
Archit x1 building services 1
Patterns for distributed systems
Cloud Native Camel Design Patterns
plumbing
Basic Plumbing System
Plumbing in Architecture
Presentation plumbing
Ad

Similar to TLV Data Plumbers: Exactly once processing (20)

PDF
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
PPTX
Nagios Conference 2014 - Gerald Combs - A Trillion Truths
PDF
FOSDEM 2021 - Infrastructure as Code Drift & Driftctl
PDF
Building a Database for the End of the World
PDF
Is this normal?
PDF
Codebits Handivi
PDF
Flink Forward Berlin 2018: Lasse Nedergaard - "Our successful journey with Fl...
PDF
Austin Cassandra Meetup re: Atomic Counters
PDF
Software + Babies
PPTX
Deep Dive Time Series Anomaly Detection in Azure with dotnet
PPTX
Wo defensive trickery_13mar2017
PDF
Here There Be Turtles: Platform Ops in Public Cloud
PDF
Design for Scale / Surge 2010
PDF
Monitoring your Python with Prometheus (Python Ireland April 2015)
PDF
Skynet project: Monitor, analyze, scale, and maintain a system in the Cloud
PPTX
Transactional Memory
PDF
Java Hurdling: Obstacles and Techniques in Java Client Penetration-Testing
PPS
Storm presentation
PDF
STORMPresentation and all about storm_FINAL.pdf
PDF
44CON 2014 - Switches Get Stitches, Eireann Leverett & Matt Erasmus
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Nagios Conference 2014 - Gerald Combs - A Trillion Truths
FOSDEM 2021 - Infrastructure as Code Drift & Driftctl
Building a Database for the End of the World
Is this normal?
Codebits Handivi
Flink Forward Berlin 2018: Lasse Nedergaard - "Our successful journey with Fl...
Austin Cassandra Meetup re: Atomic Counters
Software + Babies
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Wo defensive trickery_13mar2017
Here There Be Turtles: Platform Ops in Public Cloud
Design for Scale / Surge 2010
Monitoring your Python with Prometheus (Python Ireland April 2015)
Skynet project: Monitor, analyze, scale, and maintain a system in the Cloud
Transactional Memory
Java Hurdling: Obstacles and Techniques in Java Client Penetration-Testing
Storm presentation
STORMPresentation and all about storm_FINAL.pdf
44CON 2014 - Switches Get Stitches, Eireann Leverett & Matt Erasmus
Ad

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
PPTX
Spectroscopy.pptx food analysis technology
PPT
Teaching material agriculture food technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Cloud computing and distributed systems.
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Encapsulation theory and applications.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development
Spectroscopy.pptx food analysis technology
Teaching material agriculture food technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
NewMind AI Weekly Chronicles - August'25 Week I
The AUB Centre for AI in Media Proposal.docx
Cloud computing and distributed systems.
Advanced methodologies resolving dimensionality complications for autism neur...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Encapsulation theory and applications.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MIND Revenue Release Quarter 2 2025 Press Release
20250228 LYD VKU AI Blended-Learning.pptx
sap open course for s4hana steps from ECC to s4
Building Integrated photovoltaic BIPV_UPV.pdf

TLV Data Plumbers: Exactly once processing