From cf9ae2705c104ef469a444255b3f53e69f535c85 Mon Sep 17 00:00:00 2001 From: Dominik Braun Date: Fri, 19 Mar 2021 13:44:15 +0100 Subject: [PATCH 1/4] Add translation for availability vs consistency --- README-de.md | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/README-de.md b/README-de.md index 351551e8..756f91a2 100644 --- a/README-de.md +++ b/README-de.md @@ -104,7 +104,7 @@ Beachte die [Richtlinien zum Mitwirken](CONTRIBUTING.md). * [Leistung vs Skalierbarkeit](#leistung-vs-skalierbarkeit) * [Latenz vs Durchsatz](#latenz-vs-durchsatz) * [Verfügbarkeit vs Konsistenz](#verfugbarkeit-vs-konsistenz) - * [Der CAP Satz](#der-cap-satz) + * [Das CAP-Theorem](#das-cap-theorem) * [CP - Konsistenz und Ausfalltoleranz](#cp---konsistenz-und-ausfalltoleranz) * [AP - Verfügbarkeit und Ausfalltoleranz](#ap---verfugbarkeit-und-ausfalltoleranz) * [Konsistenzklassen](#konsistenzklassen) @@ -216,3 +216,40 @@ Beginne breit und fokussiere dich auf einige wenige Bereiche. Es hilft wenn man | Arbeite dich durch [System design interview questions with solutions](#system-design-interview-questions-with-solutions) | Einige | Viele | Alle | | Arbeite dich durch [Object-oriented design interview questions with solutions](#object-oriented-design-interview-questions-with-solutions) | Einige | Viele | Alle | | Beschäftige dich mit [Additional system design interview questions](#additional-system-design-interview-questions) | Einige | Viele | Alle | + +## Verfügbarkeit vs Konsistenz + +### Das CAP-Theorem + +

+ +
+ Source: CAP theorem revisited +

+ +In einem verteilten System können lediglich zwei der folgenden Eigenschaften erfüllt werden: + +* **Konsistenz** - Alle lesenden Zugriffe erhalten den neuesten Stand oder einen Fehler +* **Verfügbarkeit** - Alle Anfragen erhalten eine Antwort, jedoch ohne Garantie, dass diese den neuesten Informationsstand enthält +* **Ausfalltoleranz** - Das System arbeitet auch dann weiter, wenn es durch den Ausfall von Knoten partitioniert wird + +*Netzwerke sind nie zuverlässig, weshalb du Ausfalltoleranz unterstützen und zwischen Konsisten und Verfügbarkeit abwägen müssen wirst.* + +#### CP - Konsistenz und Ausfalltoleranz + +Das Warten auf die Antwort eines ausgefallenen Knotens kann in einen Timeout-Fehler führen. CP ist eine gute Wahl, wenn deine Geschäftsanforderungen atomare Lese- und Schreibzugriffe fordern. + +#### AP - Verfügbarkeit und Ausfalltoleranz + +Antworten liefern die neueste verfügbare Version der Daten auf einem Knoten, wobei es sich nicht um die tatsächlich neueste Version handeln muss. Schreiboperationen +können eine Weile brauchen, um sich auf die ausgefallenen Knoten zu verbreiten, sobald sie wieder verfügbar sind. + +AP ist eine gute Wahl, wenn die Geschäftsanforderungen [Eventual Consistency](#eventual-consistency) erlauben oder wenn das System auch trotz Fehlern von Außerhalb +weiterarbeiten muss. + +### Quellen und weiterführende Artikel + +* [CAP theorem revisited](http://robertgreiner.com/2014/08/cap-theorem-revisited/) +* [A plain english introduction to CAP theorem](http://ksat.me/a-plain-english-introduction-to-cap-theorem) +* [CAP FAQ](https://github.com/henryr/cap-faq) +* [The CAP theorem](https://www.youtube.com/watch?v=k-Yaq8AHlFA) From 624e4070403f61cdb3bc9685a243c6f1dd9535ac Mon Sep 17 00:00:00 2001 From: Dominik Braun Date: Fri, 19 Mar 2021 13:48:34 +0100 Subject: [PATCH 2/4] Fix translation for CP - consistency and partition tolerance --- README-de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README-de.md b/README-de.md index 756f91a2..cd34c6b7 100644 --- a/README-de.md +++ b/README-de.md @@ -237,7 +237,7 @@ In einem verteilten System können lediglich zwei der folgenden Eigenschaften er #### CP - Konsistenz und Ausfalltoleranz -Das Warten auf die Antwort eines ausgefallenen Knotens kann in einen Timeout-Fehler führen. CP ist eine gute Wahl, wenn deine Geschäftsanforderungen atomare Lese- und Schreibzugriffe fordern. +Das Warten auf die Antwort eines ausgefallenen Knotens kann zu einem Timeout-Fehler führen. CP ist eine gute Wahl, wenn deine Geschäftsanforderungen atomare Lese- und Schreibzugriffe fordern. #### AP - Verfügbarkeit und Ausfalltoleranz From 6d68c13bf4a885781bfd85df48cefc4baacf141c Mon Sep 17 00:00:00 2001 From: Dominik Braun Date: Fri, 19 Mar 2021 13:50:04 +0100 Subject: [PATCH 3/4] Fix line endings --- README-de.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README-de.md b/README-de.md index cd34c6b7..a08a7208 100644 --- a/README-de.md +++ b/README-de.md @@ -241,11 +241,9 @@ Das Warten auf die Antwort eines ausgefallenen Knotens kann zu einem Timeout-Feh #### AP - Verfügbarkeit und Ausfalltoleranz -Antworten liefern die neueste verfügbare Version der Daten auf einem Knoten, wobei es sich nicht um die tatsächlich neueste Version handeln muss. Schreiboperationen -können eine Weile brauchen, um sich auf die ausgefallenen Knoten zu verbreiten, sobald sie wieder verfügbar sind. +Antworten liefern die neueste verfügbare Version der Daten auf einem Knoten, wobei es sich nicht um die tatsächlich neueste Version handeln muss. Schreiboperationen können eine Weile brauchen, um sich auf die ausgefallenen Knoten zu verbreiten, sobald sie wieder verfügbar sind. -AP ist eine gute Wahl, wenn die Geschäftsanforderungen [Eventual Consistency](#eventual-consistency) erlauben oder wenn das System auch trotz Fehlern von Außerhalb -weiterarbeiten muss. +AP ist eine gute Wahl, wenn die Geschäftsanforderungen [Eventual Consistency](#eventual-consistency) erlauben oder wenn das System auch trotz Fehlern von Außerhalb weiterarbeiten muss. ### Quellen und weiterführende Artikel From 82c7b9d70eccc3442fee152d49a0ee4940c10e92 Mon Sep 17 00:00:00 2001 From: Dominik Braun Date: Sat, 20 Mar 2021 22:54:49 +0100 Subject: [PATCH 4/4] Fix typo for consistency translation --- README-de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README-de.md b/README-de.md index a08a7208..b1847a6f 100644 --- a/README-de.md +++ b/README-de.md @@ -233,7 +233,7 @@ In einem verteilten System können lediglich zwei der folgenden Eigenschaften er * **Verfügbarkeit** - Alle Anfragen erhalten eine Antwort, jedoch ohne Garantie, dass diese den neuesten Informationsstand enthält * **Ausfalltoleranz** - Das System arbeitet auch dann weiter, wenn es durch den Ausfall von Knoten partitioniert wird -*Netzwerke sind nie zuverlässig, weshalb du Ausfalltoleranz unterstützen und zwischen Konsisten und Verfügbarkeit abwägen müssen wirst.* +*Netzwerke sind nie zuverlässig, weshalb du Ausfalltoleranz unterstützen und zwischen Konsistenz und Verfügbarkeit abwägen müssen wirst.* #### CP - Konsistenz und Ausfalltoleranz