Why RDBMS is considered accessible (CA) for the CAP theorem

If I understand the CAP theorem correctly, accessibility means that the cluster continues to work, even if the node falls.

I saw a lot of people ( http://blog.nahurst.com/tag/guide ) RDBMS as a CA, but I don’t understand how RBDMS is available, as if the node goes down, the cluster should go down to maintain consistency.

My only possible answer to this question was that most RDBMSs are single nodes, so there is no “no fail” node. But it seems that this is technicality, not real “accessibility” and definitely not high availability.

Thanks.

+9
rdbms nosql cap-theorem high-availability
source share
2 answers

First of all, let me clarify and state that consistency in RDBMS is different from consistency in distributed systems. A DBMS (single system) applies consistency to transactional consistency, where, as in distributed systems, consistency means that the presentation from anywhere in the system (reading from any node) is consistent. Thus, a single RDMBS node cannot be considered in relation to the CAP theorem. It's like comparing an apple to an orange.

DBMS with master-slave can be compared with distributed systems. Here, RDBMS can be configured on CA / CP or AP. For example, MySQL provides a way to configure the system so that if a quorum is lost (there is not enough secondary data available to replicate the commit log), the cluster is unavailable (CP system). MySQL also provides a configuration that allows the cluster to work as long as a wizard (CA system) is available with the possibility of data loss. SQL Server AlwaysOn is an AP system because commit log replication is asynchronous (even in synchronization replicas).

Thus, RDBMS can be any of a CA, CP, or AP in a distributed world.

0
source share

In the CAP P theorem for partition tolerance, which is the ability of the system to process partitions (partitions are isolated clusters - due to network failure or for any other reason ..).

In a distributed network, for processing a partition, the system must choose either consistency or availability.

In the case of a DBMS, there is no possibility for partitions (provided that they are not distributed, which is a normal case), so they will always be CA.

-one
source share

All Articles