I don\'t know if this is a proper question here.
As we know, in the CAP theorem, \"A\" means \"Availability\". On wikipedia, the explanation of \"Availability\" is:
An interesting point of view by Coda Hale
A system that chooses Availability will handle a network partition by continuing to serve all requests even if they lead to inconsistencies (e.g nodes in different network partitions both accept possibly conflicting writes).
A system that chooses Consistency will limit the amount of legal operations during a network partition (e.g writes are not accepted as they might lead to conflicts/inconsistencies).
It is not possible to choose both.
I suppose a hypothetical system can also choose to just crash during network partitions but this does not seem like a very practical design...
The Availability in CAP means "All (non-failing) nodes are available for queries". It has NOTHING to do with the Wikipedia link, which is about "High Availability".
For example, the PAXOS algorithm is CP (no Availability property) because the minority nodes "shut up" during a partition. But if you need Consistency, then PAXOS is considered "High Availability".
Conversely, a single-node MySQL database server is CA (has the CAP Availability property). It can reboot (and be down for hours while it does BIOS check, FileSystem check, DB Repair, etc). When it finishes booting, it starts responding to queries again. That's perfect Availability (as per the CAP theorem), but horrible availability for "High Availability".
I agree with Mark Burgess: The CAP Theorem Is Not a Theorem. The CAP properties in the conjecture by Brewer are simply not well-defined enough to provide a rigorous mathematical proof. So, the reason availability is hard to "understand" could be because it is simply not well-defined in this context.
I recommend that you avoid Wikipedia and instead read the definition as provided in the proof by Gilbert and Lynch.
"every request received by a non-failing node in the system must result in a response"
And the related footnote which answers your question
"Brewer originally only required almost all requests to receive a response. As allowing probabilistic availability does not change the result when arbitrary failures occur, for simplicity we are requiring 100% availability"
So if almost all requests receive a response or we allow for arbitrary failures to occur, a system can be considered to have high availability.