# CAP, Availability, High-Availability and Big Data databases in a world of partitions

DevFeed: [CAP, Availability, High-Availability and Big Data databases in a world of partitions](<https://devfeed.tech/articles/cap-availability-high-availability-and-big-data-databases-in-a-world-of-partitions-21688.md>)

Original publisher: [Read original article](<http://blog.thislongrun.com/2015/04/cap-availability-high-availability-and_16.html>)

Author: Nicolas Liochon (noreply@blogger.com)

Published: 2015-04-16T16:32:00Z

Content type: article

Language: en

Sources: [Nicolas Liochon](<https://devfeed.tech/sources/nicolas-liochon.md>)

Topics: [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [big-data](<https://devfeed.tech/topics/big-data.md>), [Availability](<https://devfeed.tech/topics/availability.md>)

Tags: [acid](<https://devfeed.tech/tags/acid.md>), [availability](<https://devfeed.tech/tags/availability.md>), [big-data](<https://devfeed.tech/tags/big-data.md>), [cap-theorem](<https://devfeed.tech/tags/cap-theorem.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [distributed-system](<https://devfeed.tech/tags/distributed-system.md>), [durability](<https://devfeed.tech/tags/durability.md>), [high-availability](<https://devfeed.tech/tags/high-availability.md>), [latency](<https://devfeed.tech/tags/latency.md>), [network](<https://devfeed.tech/tags/network.md>), [partition](<https://devfeed.tech/tags/partition.md>)

## AI overview

This article uses the CAP theorem to categorize distributed systems and extends the discussion to big-data systems, where data does not fit on a single node. It distinguishes CAP consistency from ACID consistency, defines CAP availability, and proposes a comparable definition of high availability.

## Source excerpt

"Those who would give up Consistency, to purchase a little temporary Availability, deserve neither Consistency nor Availability." (B. Franklin, quoted from memory) This post is part of the CAP theorem series. You may want to start by my post on ACID vs. CAP if you have a database background but have never really been exposed to the CAP theorem. The post discussing some traps in the 'Availability' and 'Consistency' definition of CAP should also be used as an introduction if you know CAP but haven't looked at its formal definition. This post, as was the previous one, is about using CAP to categorize distributed systems. It summarizes its results and extends them to "big data" distributed systems. Compared to other distributed systems, "big data" systems add another dimension: by definition, the data does not fit into a single node. As we will see, this has some implications. Science Fiction authors are often ahead of their time. Will this be the case here? Looking at the terminology - CAP theorem & Availability Here we will use the definitions from the proof of the CAP theorem by Gilbert and Lynch [C2]. Consistent is [C2]: "Atomic, linearizable, consistency [...]. There must exist a total order on all operations such that each operation looks as if it were completed at a single instant. This is equivalent to requiring requests of the distributed shared memory to act as if they were executing on a single node, responding to operations one at a time." We have seen that CAP consistency is different from ACID consistency. Partition is [C2]: "The network will be allowed to lose arbitrarily many messages sent from one node to another. When a network is partitioned, all messages sent from nodes in one component of the partition to nodes in another component are lost." We have seen that node failures and packet losses are not partitions. Available is [C2]: "For a distributed system to be continuously available, every request received by a non-failing node in the system must r