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
CAP Theorem Basics
Search
mrzasa
August 05, 2015
Programming
77
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CAP Theorem Basics
Slides for Ruby Talks (workshops at PGS Software). Simple explaination of the CAP theorem,
mrzasa
August 05, 2015
More Decks by mrzasa
See All by mrzasa
Magica Journey through Regex Engine Internals - T3chFest 2025
mrzasa
0
98
Debug Like a Scientist! Copenhagen Developers Festival 2024
mrzasa
1
120
API Optimization Tale: Monitor, Fix and Deploy (on Friday). GopherCon Europe 2023
mrzasa
0
92
API Optimization Tale: Monitor, Fix and Deploy (on Friday). RubyConf BR
mrzasa
0
44
API Optimization Tale: Monitor, Fix and Deploy (on Friday). RailsConf 2021
mrzasa
0
60
API Optimization Tale: Monitor, Fix and Deploy (on Friday). Italian Ruby Day
mrzasa
0
290
I Can Kill Your Browser With a Simple Regexp. Workshop
mrzasa
0
140
[PL] Kto to jest senior developer? - 4Developers 2019
mrzasa
0
200
[PL] (HackYeah) Nie ma nic prostszego niż napisanie wolnego regexpa
mrzasa
0
170
Other Decks in Programming
See All in Programming
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
1.1k
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.1k
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
プロポーザルを書いてもらう
pvcresin
0
570
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.9k
React本体のコードリーディング
high_g_engineer
1
150
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
590
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
280
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
7.3k
MySQLとPostgreSQLって何が違うの?
akagami
0
120
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.8k
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
800
Making the Leap to Tech Lead
cromwellryan
135
10k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
HDC tutorial
michielstock
2
810
RailsConf 2023
tenderlove
30
1.5k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
The Invisible Side of Design
smashingmag
301
52k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
480
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
470
Speed Design
sergeychernyshev
33
2k
KATA
mclloyd
PRO
35
15k
Transcript
CAP THEOREM OR: YOU CANNOT HAVE EVERYTHING Maciej Rząsa
DISTRIBUTED SYSTEM A distributed system is a so ware system
in which components located on networked computers communicate and coordinate their actions by passing messages.
REALLY? WHERE DO I USE IT? ssh/ p ssh/ p
email web mobile apps
ASSUMPTIONS system that stores data asynchronous network
THREE FEATURES Consistency Availability Partition tolerance
A read sees all previously completed writes CONSISTENCY
Reads and writes always succeed. AVAILABILITY
Guaranteed properties are maintained even when network failures prevent some
machines from communicating with others. PARTITION TOLERANCE
In a distributed system connected with an asynchronous network you
can pick two. Why? Consider two clients attached to nodes without network connection. CAP: CHOOSE TWO
WHERE IS IT USEFUL? web forms: fetch data, wait and
send it mobile apps: offline mode distributed databases: mongo, redis, elastic search what about the project you develop?
http://blog.nahurst.com/visual-guide-to-nosql-systems
ALLOWING PARTITIONS YOU MUST CHOOSE AVAILABILITY OR CONSISTENCY