www.wikidata.de-de.nina.az
Das CAP Theorem oder Brewers Theorem besagt dass es in einem verteilten System unmoglich ist gleichzeitig die drei Eigenschaften Consistency Konsistenz Availability Verfugbarkeit und Partition Tolerance Ausfalltoleranz zu garantieren 1 2 Inhaltsverzeichnis 1 Eigenschaften 2 Geschichte 3 Beispiele 3 1 AP Domain Name System DNS oder Cloud Computing 3 2 CA Relationales Datenbank Management System RDBMS 3 3 CP Banking Anwendungen 4 Siehe auch 5 Weblinks 6 EinzelnachweiseEigenschaften Bearbeiten nbsp Veranschaulichung des CAP TheoremsLaut dem CAP Theorem kann ein verteiltes System zwei der folgenden Eigenschaften gleichzeitig erfullen jedoch nicht alle drei 3 Konsistenz C consistency Die Konsistenz der gespeicherten Daten In verteilten Systemen mit replizierten Daten muss sichergestellt sein dass nach Abschluss einer Transaktion auch alle Replikate des manipulierten Datensatzes aktualisiert werden Diese Konsistenz sollte nicht verwechselt werden mit der Konsistenz der ACID Transaktionen die nur die innere Konsistenz eines Datenbestandes betrifft Verfugbarkeit A availability Die Verfugbarkeit im Sinne akzeptabler Antwortzeiten Alle Anfragen an das System werden stets beantwortet Partitionstoleranz P partition tolerance Die Ausfalltoleranz der Rechner Servernetze Das System arbeitet auch weiter wenn es partitioniert wird d h wenn Knoten nicht mehr miteinander kommunizieren konnen z B um die Daten untereinander konsistent zu halten Dies kann durch den Verlust von Nachrichten den Ausfall einzelner Netzknoten oder den Abbruch von Verbindungen im Netz der Partition des Netzes auftreten Da nur zwei dieser drei Anforderungen in verteilten Systemen gleichzeitig vollstandig erfullt sein konnen wird das CAP Theorem oft als Dreieck visualisiert bei dem eine konkrete Anwendung sich auf eine der Kanten einordnen lasst Dies ist jedoch ungenau Da sich das CAP Theorem auf verteilte Systeme bezieht ist eine Auswahl ohne Partitionstoleranz nicht Teil der Betrachtung Die Interpretation ist somit eher dass man sich im Falle einer Netzwerkpartitionierung also in einem Fehlerfall der nicht die gewunschte Systemausfuhrung beschreibt zwischen der Konsistenz der Daten und der Verfugbarkeit des Systems entscheiden muss 4 Die System Eigenschaften C A und P konnen dabei als graduelle Grossen gesehen werden d h die Verfugbarkeit ist hoch wenn das System schnell antwortet und gering wenn das System langsam antwortet In Hinblick auf die Konsistenz bedeutet das dass diese entweder sofort sichergestellt ist bei strikter Konsistenz oder erst nach einem gewissen Zeitfenster der Inkonsistenz BASE Prinzip Basically Available Soft state Eventual consistency vieler NoSQL Datenbanken 5 Geschichte BearbeitenDas Theorem entstand im Jahr 2000 als eine Vermutung des Informatikers Eric Brewer an der University of California Berkeley beim Symposium on Principles of Distributed Computing PODC 6 Im Jahr 2002 veroffentlichten Seth Gilbert und Nancy Lynch vom MIT einen axiomatischen Beweis von Brewers Vermutung und etablierten diese somit als Theorem 1 Beispiele BearbeitenAP Domain Name System DNS oder Cloud Computing Bearbeiten Das Domain Name System ist der Internet Dienst mit dem symbolische Hostnamen wie de wikipedia org zu numerischen IP Adressen zur TCP IP Kommunikation aufgelost werden Das DNS fallt in die Kategorie AP Die Verfugbarkeit ist extrem hoch ebenso Toleranz gegenuber dem Ausfall einzelner DNS Server Allerdings ist die Konsistenz nicht immer sofort gegeben es kann mitunter Tage dauern bis ein geanderter DNS Eintrag an die gesamte DNS Hierarchie propagiert ist und damit von allen Clients gesehen wird Cloud Plattformen setzen auf eine horizontale Skalierung das heisst die Last wird auf viele Knoten verteilt die aus billiger nicht unbedingt ausfallsicherer Hardware bestehen konnen Daher muss eine Cloud Anwendung zwingend Toleranz gegenuber dem Ausfall einzelner Knoten zeigen konnen Eine hohe Verfugbarkeit wird auch gefordert Daraus folgt dass eine Cloud Anwendung zumindest in grossen Teilen auch in die Kategorie AP fallt Beispiele fur Web Anwendungen die nicht auf strenge Konsistenz angewiesen sind waren Social Media Sites wie Twitter oder Facebook wenn einzelne Nachrichten nicht bei allen Nutzern gleichzeitig eintreffen ist dadurch die prinzipielle Funktion des Dienstes nicht beeintrachtigt Da eine strenge Konsistenz wegen des CAP Theorems hier nicht mehr gewahrleistet werden kann eine vollig inkonsistente Datenhaltung aber auch nicht gewunscht ist muss man sich mit schwacheren Konsistenzbedingungen abfinden Als Gegenstuck zum ACID Prinzip der relationalen Datenbanken setzen viele NoSQL Datenbanken auf das BASE Prinzip Basically Available Soft State Eventual consistency Eventual consistency lasst sich sinngemass gut mit schlussendlicher Konsistenz ubersetzen das heisst das System ist nach Ablauf einer gewissen moglichst kurzen Zeitspanne der Inkonsistenz wieder in einem konsistenten Zustand CA Relationales Datenbank Management System RDBMS Bearbeiten Die relationalen Datenbanken wie DB2 oder Oracle streben vor allem Konsistenz an Ein RDBMS Cluster fallt meistens in die Kategorie CA Sie streben vor allem Verfugbarkeit und Konsistenz aller Knoten an Da sie meistens mit hochverfugbaren Netzwerken und Servern betrieben werden mussen sie nicht unbedingt gut mit einer Partitionierung umgehen konnen Wie oben erwahnt sind C A und P graduelle Grossen CP Banking Anwendungen Bearbeiten Fur verteilte Finanzanwendung wie z B Geldautomaten ist die Konsistenz der Daten oberstes Gebot Ein abgehobener Geldbetrag muss zuverlassig auch auf der Kontenseite abgebucht werden eingezahltes Geld muss auf dem Konto erscheinen Diese Anforderung muss auch bei Storungen im Datenverkehr sichergestellt werden Partitionstoleranz Gegenuber der Konsistenz und der Partitionstoleranz ist die Verfugbarkeit zweitrangig CP Bei Netzwerkstorungen soll ein Geldautomat oder ein anderer Service eher nicht verfugbar sein als inkorrekte Transaktionen abzuwickeln Siehe auch BearbeitenFallacies of Distributed Computing gangige Irrtumer bei der verteilten DatenverarbeitungWeblinks BearbeitenSeth Gilbert Nancy Lynch Brewer s Conjecture and the Feasibility of Consistent Available Partition Tolerant Web Services Memento vom 23 Juli 2014 im Internet Archive PDF 124 kB CAP Twelve Years Later How the Rules Have Changed Technische Hochschule Koln CAP Theorem Lexikon des eLearning Datenbank PortalsEinzelnachweise Bearbeiten a b Brewer s Conjeture and the Feasibility of Consistent Available Partition Tolerant Web Servies Abgerufen am 8 Marz 2023 julianbrowne com Brewer s CAP Theorem Abgerufen am 2 Marz 2010 Brewers CAP Theorem on distributed systems Memento vom 27 November 2010 im Internet Archive auf royans net englisch Akhil Mehra Understanding the CAP Theorem In DZone DZone 6 September 2017 abgerufen am 19 September 2018 englisch CAP Twelve Years Later How the Rules Have Changed Abgerufen am 8 Marz 2023 englisch Brewer Eric Towards Robust Distributed Systems PDF 229 kB Abgerufen von https de wikipedia org w index php title CAP Theorem amp oldid 238273467