CAP-Theorem vs. BASE (NoSQL)
Hallo, ich versuche, ein kleines Papier für meine Arbeit über NoSQL zu schreiben, und habe das CAP-Theorem so beschrieben, dass die meisten NoSQL-Datenbanken, wenn nicht alle, daran festhalten. Ich habe später einen Artikel über den Unterschied zwischen NoSQL und RDBMS gelesen, in dem angegeben wurde, dass NoSQL-Datenbanken das ACID-Gegenstück BASE verwenden.
Ich kenne die Eigenschaften von BASE, ACID und CAP, aber es fällt mir schwer herauszufinden, in welcher Beziehung das CAP-Theorem und BASE zueinander stehen. So wie ich es verstehe, führt der CAP-Satz zum Akronym BASE, aber ist es die richtige Schlussfolgerung? Oder sind es zwei verschiedene Ansätze, um eine Datenbank zu „bauen“, um die sich einige ähnliche Eigenschaften teilen?
In diesem Blog-Beitrag (http://www.johndcook.com/blog/2009/07/06/brewer-cap-theorem-base/) schreibt der Autor:
Es ist schwieriger, Software in der fehlertoleranten BASE-Welt zu entwickeln als in der anspruchsvollen ACID-Welt, aber das CAP-Theorem von Brewer besagt, dass Sie keine Wahl haben, wenn Sie skalieren möchten. Wie Brewer in dieser Präsentation hervorhebt, besteht jedoch ein Kontinuum zwischen ACID und BASE. Sie können je nach Ihren Prioritäten entscheiden, wie nah Sie an einem Ende des Kontinuums oder am anderen sein möchten.
In einem anderen Artikel schreibt der Autor:
Viele der NOSQL-Datenbanken haben vor allem die Anforderungen an die Konsistenz gelockert, um eine bessere Verfügbarkeit und Partitionierung zu erreichen. Dies führte zu Systemen, die als BASE bekannt sind (Grundsätzlich verfügbar, Soft-State, eventuell konsistent). Diese haben keine Transaktionen im klassischen Sinne und führen zu Einschränkungen des Datenmodells, um bessere Partitionsschemata (wie das Dynamo-System usw.) zu ermöglichen. Eine umfassendere Diskussion von CAP, ACID und BASE finden Sie in dieser Einführung.
Dies zeigt deutlich, dass CAP zu BASE führt.
Ich hoffe, jemand kann mir das klarstellen und meine Verwirrung beseitigen.
Danke
- Mestika