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
59
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
API Optimization Tale: Monitor, Fix and Deploy (on Friday). GopherCon Europe 2023
mrzasa
0
41
API Optimization Tale: Monitor, Fix and Deploy (on Friday). RubyConf BR
mrzasa
0
18
API Optimization Tale: Monitor, Fix and Deploy (on Friday). RailsConf 2021
mrzasa
0
21
API Optimization Tale: Monitor, Fix and Deploy (on Friday). Italian Ruby Day
mrzasa
0
160
I Can Kill Your Browser With a Simple Regexp. Workshop
mrzasa
0
62
[PL] Kto to jest senior developer? - 4Developers 2019
mrzasa
0
110
[PL] (HackYeah) Nie ma nic prostszego niż napisanie wolnego regexpa
mrzasa
0
130
Writing slow regexp is easier than you think (and want it to be)
mrzasa
0
300
[PL] (SegFault) Nie ma nic prostszego niż napisanie wolnego regexpa
mrzasa
0
47
Other Decks in Programming
See All in Programming
Open standards for building event-driven applications in the cloud
meteatamel
0
190
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
200
Let's learn code review
riofujimon
2
620
Ruby GitHub Packages
bkuhlmann
0
650
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
530
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
12
4.2k
Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50
utgwkk
6
1.9k
JavaScript Closure
asoluka
0
1.2k
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
170
Webアプリをできるだけコードを手書きしないで作ってみる
tomokusaba
2
190
Balkan Ruby 2024 — How and why to run SQLite on Rails in production
fractaledmind
0
110
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
2
400
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Debugging Ruby Performance
tmm1
70
11k
Happy Clients
brianwarren
92
6.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
The Cult of Friendly URLs
andyhume
74
5.7k
For a Future-Friendly Web
brad_frost
172
9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Agile that works and the tools we love
rasmusluckow
325
20k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
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