4

Zwei Punkte, die ich über RDBMS nicht in CAP-Theorem ist CA verstehen:Warum ist RDBMS-Partition nicht tolerant in CAP Theorem und warum ist es verfügbar?

1) Es sagt RDBMS ist nichtPartition Tolerant aber wie ist RDBMS nicht weniger Partition toleranter als andere Technologien wie MongoDB oder Kassandra? Gibt es ein RDBMS-Setup, bei dem wir CA aufgeben, um es AP oder CP zu machen?

2) Wie ist es CAP-Verfügbar? Ist es durch Master-Slave-Setup? Wie wenn der Master stirbt, übernimmt der Slave die Schreibvorgänge?

Ich bin ein Neuling bei DB Architektur und CAP Theorem also bitte mit mir ertragen.

Antwort

-2

Ans 1. RDBMS folgen Master Salve Architektur, warum es nicht Partition tolerant ist. Wenn der Master ausfällt, wird nichts passieren (nicht lesen, nicht schreiben). Alle Cassandra-Knoten sind unabhängig. Wenn also ein Knoten ausfällt, kümmert sich ein anderer um das. Wir können die Begrenzung für RDBMS nicht festlegen.

Ans 2.CAP wird verfügbar sein, wenn alle Knoten unabhängig sind. Wenn ein Knoten ausfällt, sollte sich der andere kümmern.

+0

MongoDB folgt auch dem Master-Slave-Setup, aber warum wird es als Partitionstolerant betrachtet? – Glide

+0

Partition-tolerant ist für Netzwerk-down, andere Systemfehler. Zuvor wurde mysql auf einem Rechner eingerichtet, so dass es keine Möglichkeit gibt, das Netzwerk herunterzufahren, oder ein Systemfehler bedeutet, dass es keine Möglichkeit gibt, dass ein Knoten aufgrund eines Netzwerkausfalls oder eines Systemfehlers nicht antwortet und andere funktionieren. Aber in mongodb können wir auf verschiedenen -2-Rechner einrichten, warum es auch Partition Tolerant berücksichtigt. Aber heutzutage betrachtete mysql auch Partitionstoleranz. –

+0

Wenn MySQL auch als partitionstolerant gilt, wird es dann als CAP betrachtet? (d. h. alle 3 konsistent, verfügbar, * UND * partitionstolerant) – Glide

10

Viele Datenbanken haben jetzt tatsächlich unterschiedliche Konfigurationen und können je nach den Einstellungen entweder CA, CP, AP usw. sein, aber nicht alle drei gleichzeitig. Einige Datenbanken bemühen sich tatsächlich, alle drei zu unterstützen, priorisieren sie jedoch in einer bestimmten Weise.

Zum Beispiel kann MySQL abhängig von den Konfigurationen CP und CA sein. Standardmäßig ist es CA, da es einem Master-Slave-Paradigma folgt, dessen Daten zu den Slaves repliziert werden. Die Partitionstoleranz wird geopfert, wenn eine Gruppe von Slaves die Verbindung zum Master verliert und entscheidet sich daher, einen neuen Master zu wählen, der zwei Master mit eigenen Slaves erstellt.

Allerdings hat MySQL auch eine andere Konfiguration, die eine gruppierte Konfiguration ist. Es priorisiert CP über die Verfügbarkeit, z. Der Cluster wird heruntergefahren, wenn nicht genügend aktive Knoten für die Bereitstellung aller Daten vorhanden sind.

Es gibt wahrscheinlich mehr Konfigurationen für MySQL, die andere CAP-Theorem-Kombinationen erfüllen, aber insgesamt wollte ich nur sagen, dass es davon abhängt, was Ihr System benötigt. Manchmal sind Datenbanken für eine Konfiguration besser als andere, daher ist es am besten zu sehen, welche Arten von Problemen auch bei der Verwendung einer bestimmten Konfiguration auftreten können.

Für die Umsetzung des CAP-Theorems würde ich empfehlen, einen weiteren Blick auf verschiedene Datenbanken zu werfen und wie sie die Prioritäten für das CAP-Theorem umsetzen. Es gibt einfach zu viele verschiedene Möglichkeiten, sie zu implementieren, z. Im Allgemeinen wird das Master-Slave-Modell für CA-Systeme, der Hash-Ring für AP-Systeme usw. verwendet.