Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Storing data as a sequence of events (RubyConfAt)
Search
Łukasz Reszke
May 31, 2026
Programming
29
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Storing data as a sequence of events (RubyConfAt)
Łukasz Reszke
May 31, 2026
Other Decks in Programming
See All in Programming
Security issues being discussed on Web Platforms
petamoriken
0
1.4k
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
340
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
290
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
470
JRuby: Past, Present, and Future
headius
0
220
Workers Cache を知る
syumai
0
330
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
180
R8 の設定見直しでアプリサイズ削減
andpad
0
140
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
140
Verilogで学ぶCPU自作入門.pdf
uyuki234
8
4k
Java 27新機能 / Java 27 new features
kishida
2
200
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
20
21k
Featured
See All Featured
A better future with KSS
kneath
240
18k
A designer walks into a library…
pauljervisheath
211
25k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
Leo the Paperboy
mayatellez
10
2.3k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Faster Mobile Websites
deanohume
310
32k
Navigating Team Friction
lara
192
16k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
610
Transcript
Helping Rails apps since 2007 a boutique consultancy specializing in
Ruby expertise
Relational Database
CRUD
Change = State Overwrite
Admit.
Information is lost
WHAT IT IS NOW
HOW WE GOT THERE
HOW WE GOT THERE
Alternative for saving data as snapshot
Storing state as sequence of facts
Facts == Events
Event Sourcing
ONE THING TO REMEMBER FROM THIS PRESENTATION
Event Sourcing is just another persistence technique.
Event
Events are kept in Event Store
Append only log
Immutable
Event <-> Stream
None
None
None
None
None
None
None
None
None
None
None
None
None
HOW WE GOT THERE?
None
None
None
One to Many
Load the state Make decision Publish an event (new state)
Consolidate events into streams to answer interesting business questions
None
None
None
None
None
None
None
None
None
None
None
Event Store… DB?
Rails Event Store Backed up and maintained by
Started in 2015
Based on Database that you already use
Two Tables Events and Events in streams
Comes with migrations
Comes with event browser
Case - Warehouse
Shipment
Packing
Mistakes happen
Information?
shipment.status == :packed
So it’ll be billed for packing…
So it’ll be billed for packing… Once
Demo
Benefits - State change history recorded as sequence of events
- ZERO DATA LOSS - Auditability - Reconstructing state - Makes debugging easier
Check it out at railseventstore.org
THANK YOU! Łukasz Reszke