Gehen Sie mit der App Player FM offline!
#91 Konsistent, Verfügbar, Ausfalltolerant oder Performant: Das CAP- und PACELC-Theorem in verteilten Systemen
Manage episode 378637936 series 3432292
Konsistent, Verfügbar und Ausfalltolerant: Wähle zwei - Das CAP-Theorem
Stellt euch vor, ein Handwerker könnte die Dienstleistung schnell, günstig und in hoher Qualität leisten. Wäre dies nicht ein Traum? Leider sind alle drei Eigenschaften in der Realität nicht möglich. Und genau so geht es uns mit dem CAP-Theorem in verteilten Systemen mit Datenhaltung. Speziell im aktuellen Zeitalter mit Cloud Computing, horizontaler Skalierung, weltweiter Verfügbarkeit spielt das CAP-Theorem eine essentielle Rolle.
Wie soll sich dein System verhalten, wenn die Netzwerk-Verbindung zwischen deinen Compute-Knoten ausfällt? Muss die Datenhaltung konsistent bleiben? Oder sind Inkonsistenzen für eine gewisse Zeit OK, dafür hat die Verfügbarkeit eine höhere Priorität? Um diesen Konflikt geht es in dieser Episode.
Bonus: Auf GCP kannst du deine Compute-Instanz auf maximal 12 TB SSD Disk (ohne Netzwerk-Storage) aufstocken.
**** Diese Episode wird von trivago gesponsert:
trivago aus Düsseldorf sucht Verstärkung für ihr Tech-Team. Weltweite Skalierung, datengetriebene Entscheidungen und Experimente durch A/B Tests gehören zum Alltag. Hilf mit die Hotelsuchmaschine nach vorne zu bringen. Profitiere von einem autonomen Arbeitsumfeld und bewirb dich unter https://careers.trivago.com/tech oder schicke deine Initiativbewerbungen an joinus@trivago.com mit dem Betreff "Engineering Kiosk".
****
Das schnelle Feedback zur Episode:
Feedback (gerne auch als Voice Message)
- EngKiosk Community: https://engineeringkiosk.dev/join-discord
- Email: stehtisch@engineeringkiosk.dev
- Mastodon: https://podcasts.social/@engkiosk
- Twitter: https://twitter.com/EngKiosk
- WhatsApp +49 15678 136776
Gerne behandeln wir auch euer Audio Feedback in einer der nächsten Episoden, einfach Audiodatei per Email oder WhatsApp Voice Message an +49 15678 136776
Links
- CAP-Theorem: https://de.wikipedia.org/wiki/CAP-Theorem
- Eric Brewer: https://de.wikipedia.org/wiki/Eric_Brewer_(Informatiker)
- Slides zum CAP Theorem (Towards robust distributed systems): https://people.eecs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf
- PACELC theorem: https://en.wikipedia.org/wiki/PACELC_theorem
- CAP Theorem Explained: https://learncloudnative.com/blog/2019-11-22-basics_cap_theorem
- Jepsen: Elasticsearch 1.5.0: https://aphyr.com/posts/323-jepsen-elasticsearch-1-5-0
- Jepsen: MongoDB stale reads: https://aphyr.com/posts/322-jepsen-mongodb-stale-reads
- Jepsen: Cassandra: https://aphyr.com/posts/294-jepsen-cassandra
- Jepsen: Kafka: https://aphyr.com/posts/293-jepsen-kafka
Sprungmarken
(00:00:00) Intro
(00:01:16) Das CAP-Theorem
(00:03:37) Verteilte Systeme, Datenhaltung und State
(00:08:17) Was ist das CAP-Theorem?
(00:09:52) Neue Herausforderungen für dich im Job bei trivago (Werbung)
(00:11:15) Was ist das CAP-Theorem?
(00:13:10) Das C in CAP: Consistency
(00:15:12) Das A in CAP: Availability
(00:16:16) Das P in CAP: Partition Tolerance
(00:18:55) Der Problemfall in verteilten Systemen
(00:20:41) Was bedeutet es, wenn ein verteiltes System alle drei Eigenschaften erfüllen würde
(00:22:56) Wo kommt das CAP-Theorem her? Das Brewer Theorem, ACID und BASE
(00:31:50) Ausprägung CP: Consistency und Partition Tolerance
(00:33:31) Ausprägung AP: Availability und Partition Tolerance
(00:36:34) Ausprägung AC: Availability und Consistency
(00:37:16) Das CAP-Theorem im Fehlerfall: PACELC
(00:41:07) Das CAP-Theorem und die Praxis
(00:43:00) MongoDB
(00:45:13) Cassandra
(00:46:36) Kubernetes
(00:49:38) Kafka
Hosts
- Wolfgang Gassler (https://mastodon.social/@woolf)
- Andy Grunwald (https://twitter.com/andygrunwald)
Feedback (gerne auch als Voice Message)
- EngKiosk Community: https://engineeringkiosk.dev/join-discord
- Email: stehtisch@engineeringkiosk.dev
- Mastodon: https://podcasts.social/@engkiosk
- Twitter: https://twitter.com/EngKiosk
- WhatsApp +49 15678 136776
123 Episoden
Manage episode 378637936 series 3432292
Konsistent, Verfügbar und Ausfalltolerant: Wähle zwei - Das CAP-Theorem
Stellt euch vor, ein Handwerker könnte die Dienstleistung schnell, günstig und in hoher Qualität leisten. Wäre dies nicht ein Traum? Leider sind alle drei Eigenschaften in der Realität nicht möglich. Und genau so geht es uns mit dem CAP-Theorem in verteilten Systemen mit Datenhaltung. Speziell im aktuellen Zeitalter mit Cloud Computing, horizontaler Skalierung, weltweiter Verfügbarkeit spielt das CAP-Theorem eine essentielle Rolle.
Wie soll sich dein System verhalten, wenn die Netzwerk-Verbindung zwischen deinen Compute-Knoten ausfällt? Muss die Datenhaltung konsistent bleiben? Oder sind Inkonsistenzen für eine gewisse Zeit OK, dafür hat die Verfügbarkeit eine höhere Priorität? Um diesen Konflikt geht es in dieser Episode.
Bonus: Auf GCP kannst du deine Compute-Instanz auf maximal 12 TB SSD Disk (ohne Netzwerk-Storage) aufstocken.
**** Diese Episode wird von trivago gesponsert:
trivago aus Düsseldorf sucht Verstärkung für ihr Tech-Team. Weltweite Skalierung, datengetriebene Entscheidungen und Experimente durch A/B Tests gehören zum Alltag. Hilf mit die Hotelsuchmaschine nach vorne zu bringen. Profitiere von einem autonomen Arbeitsumfeld und bewirb dich unter https://careers.trivago.com/tech oder schicke deine Initiativbewerbungen an joinus@trivago.com mit dem Betreff "Engineering Kiosk".
****
Das schnelle Feedback zur Episode:
Feedback (gerne auch als Voice Message)
- EngKiosk Community: https://engineeringkiosk.dev/join-discord
- Email: stehtisch@engineeringkiosk.dev
- Mastodon: https://podcasts.social/@engkiosk
- Twitter: https://twitter.com/EngKiosk
- WhatsApp +49 15678 136776
Gerne behandeln wir auch euer Audio Feedback in einer der nächsten Episoden, einfach Audiodatei per Email oder WhatsApp Voice Message an +49 15678 136776
Links
- CAP-Theorem: https://de.wikipedia.org/wiki/CAP-Theorem
- Eric Brewer: https://de.wikipedia.org/wiki/Eric_Brewer_(Informatiker)
- Slides zum CAP Theorem (Towards robust distributed systems): https://people.eecs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf
- PACELC theorem: https://en.wikipedia.org/wiki/PACELC_theorem
- CAP Theorem Explained: https://learncloudnative.com/blog/2019-11-22-basics_cap_theorem
- Jepsen: Elasticsearch 1.5.0: https://aphyr.com/posts/323-jepsen-elasticsearch-1-5-0
- Jepsen: MongoDB stale reads: https://aphyr.com/posts/322-jepsen-mongodb-stale-reads
- Jepsen: Cassandra: https://aphyr.com/posts/294-jepsen-cassandra
- Jepsen: Kafka: https://aphyr.com/posts/293-jepsen-kafka
Sprungmarken
(00:00:00) Intro
(00:01:16) Das CAP-Theorem
(00:03:37) Verteilte Systeme, Datenhaltung und State
(00:08:17) Was ist das CAP-Theorem?
(00:09:52) Neue Herausforderungen für dich im Job bei trivago (Werbung)
(00:11:15) Was ist das CAP-Theorem?
(00:13:10) Das C in CAP: Consistency
(00:15:12) Das A in CAP: Availability
(00:16:16) Das P in CAP: Partition Tolerance
(00:18:55) Der Problemfall in verteilten Systemen
(00:20:41) Was bedeutet es, wenn ein verteiltes System alle drei Eigenschaften erfüllen würde
(00:22:56) Wo kommt das CAP-Theorem her? Das Brewer Theorem, ACID und BASE
(00:31:50) Ausprägung CP: Consistency und Partition Tolerance
(00:33:31) Ausprägung AP: Availability und Partition Tolerance
(00:36:34) Ausprägung AC: Availability und Consistency
(00:37:16) Das CAP-Theorem im Fehlerfall: PACELC
(00:41:07) Das CAP-Theorem und die Praxis
(00:43:00) MongoDB
(00:45:13) Cassandra
(00:46:36) Kubernetes
(00:49:38) Kafka
Hosts
- Wolfgang Gassler (https://mastodon.social/@woolf)
- Andy Grunwald (https://twitter.com/andygrunwald)
Feedback (gerne auch als Voice Message)
- EngKiosk Community: https://engineeringkiosk.dev/join-discord
- Email: stehtisch@engineeringkiosk.dev
- Mastodon: https://podcasts.social/@engkiosk
- Twitter: https://twitter.com/EngKiosk
- WhatsApp +49 15678 136776
123 Episoden
Alle Folgen
×Willkommen auf Player FM!
Player FM scannt gerade das Web nach Podcasts mit hoher Qualität, die du genießen kannst. Es ist die beste Podcast-App und funktioniert auf Android, iPhone und im Web. Melde dich an, um Abos geräteübergreifend zu synchronisieren.