![[CAP Theorem.png | 500]] The CAP theorem is like a rule that helps computer programmers and engineers understand what they can and cannot do when building big computer systems that store and process lots of data. C stands for Consistency, which means that everyone who looks at the data should see the same thing, no matter which computer they're looking at it from. A stands for Availability, which means that the data should always be there and ready to use, even if one of the computers that stores it goes offline. P stands for Partition Tolerance, which means that the system should still work correctly even if some of the computers can't talk to each other. The tricky part is that you can only have two of these things at the same time. You can have consistency and availability, but then you can't handle partition tolerance. You can have partition tolerance and availability, but then you can't have perfect consistency. You can have consistency and partition tolerance, but then you can't guarantee perfect availability. So, engineers building big computer systems have to think very carefully about which two things are most important for their system to have, and design it accordingly.