Cloud computing has opened many new paths in the digital world. In particular, the availability of computing resources on the internet allows for rapid innovation, flexible use of resources, and thus tailoring the resulting scalability possibilities to individual needs. However, the CAP theorem shows that this flexibility can hinder other aspects. We explain what is behind the CAP theorem (also called Brewer's theorem or Brewers theorem ) and we present some examples of models that follow this theorem on distributed systems ..
The CAP theorem ( CAP theorem ) holds that it is not possible for a distributed system to satisfy or guarantee more than two of the following three properties at the same time:
The CAP theorem arose from an assumption by computer scientist Eric Brewer, who mentioned it during his lecture at the Symposium on Principles of Distributed Computing (PODC) in 2000. Therefore, this proposal on the limitations of characteristics of distributed systems is also known as Brewer's theorem or Brewers theorem . In 2002, Seth Gilbert and Nancy Lynch of MIT demonstrated its validity with axiomatic evidence, establishing it as a theorem.
Currently, when designing a new distributed system, this theorem is followed and a specific basic model is chosen that has two of the three properties. In this way, the connection of several independent computers in a single network system can be classified into the following three categories, according to the CAP theorem:
To make the principles of the CAP theorem a little clearer, we present some examples of distributed systems that demonstrate its validity. In each case we also highlight how Brewer's theorem applies..
A well-known example of an AP system is the DNS ( domain name system ). This core network component is responsible for associating domain names with the corresponding IP addresses and is based on the properties of availability and partition tolerance . Thanks to the large number of servers that exist, the system is available almost without exception: if one DNS server fails, the next one takes over. However, according to the CAP theorem, DNS is inconsistent : if a record is modified in DNS, it can take up to several days for the change to be transmitted to the entire system hierarchy and can be seen by all clients.
Database management systems that follow the relational database model are a good example of a CA system. These systems are characterized above all by their great consistency and by offering the highest possible availability . However, keep in mind that in the event of a conflict, availability may decrease in favor of consistency. In this case, security in terms of partition has a secondary role..
Availability is one of the most important properties of most distributed systems, so CP systems are rare in practice . However, these systems prove to be very useful in areas such as finance: banking applications, which must load and transfer money reliably, depend on consistency and partition security to rule out any possibility of incorrect annotations, even if data traffic is interrupted.