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
0
61
CAP Theorem Basics
Slides for Ruby Talks (workshops at PGS Software). Simple explaination of the CAP theorem,
mrzasa
August 05, 2015
Tweet
Share
More Decks by mrzasa
See All by mrzasa
Debug Like a Scientist! Copenhagen Developers Festival 2024
mrzasa
1
44
API Optimization Tale: Monitor, Fix and Deploy (on Friday). GopherCon Europe 2023
mrzasa
0
56
API Optimization Tale: Monitor, Fix and Deploy (on Friday). RubyConf BR
mrzasa
0
21
API Optimization Tale: Monitor, Fix and Deploy (on Friday). RailsConf 2021
mrzasa
0
30
API Optimization Tale: Monitor, Fix and Deploy (on Friday). Italian Ruby Day
mrzasa
0
210
I Can Kill Your Browser With a Simple Regexp. Workshop
mrzasa
0
73
[PL] Kto to jest senior developer? - 4Developers 2019
mrzasa
0
130
[PL] (HackYeah) Nie ma nic prostszego niż napisanie wolnego regexpa
mrzasa
0
150
Writing slow regexp is easier than you think (and want it to be)
mrzasa
0
370
Other Decks in Programming
See All in Programming
初めてDefinitelyTypedにPRを出した話
syumai
0
410
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
100
Realtime API 入門
riofujimon
0
150
イベント駆動で成長して委員会
happymana
1
320
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
1.9k
Remix on Hono on Cloudflare Workers
yusukebe
1
290
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.6k
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
330
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
327
21k
Why Our Code Smells
bkeepers
PRO
334
57k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
96
Git: the NoSQL Database
bkeepers
PRO
427
64k
RailsConf 2023
tenderlove
29
900
Building an army of robots
kneath
302
43k
A designer walks into a library…
pauljervisheath
204
24k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Done Done
chrislema
181
16k
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