Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Storing data as a sequence of events (RubyConfAt)
Search
Łukasz Reszke
May 31, 2026
Programming
21
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
継続モナドとリアクティブプログラミング
yukikurage
3
670
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
340
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.2k
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
190
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1.1k
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
290
今さら聞けない .NET CLI
htkym
0
170
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
220
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
200
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
210
Featured
See All Featured
BBQ
matthewcrist
89
10k
Deep Space Network (abreviated)
tonyrice
0
250
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
450
Git: the NoSQL Database
bkeepers
PRO
432
67k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
650
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Typedesign – Prime Four
hannesfritz
42
3.1k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
41k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Product Roadmaps are Hard
iamctodd
55
12k
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