In the CAP Theorem, the "P" (Partitioning) component essentially states that the system works well despite physical network partitions.
I guess the "C" (Consistency) and "A" (Availability) make perfect sense to me in a DDBMS context: with consistency all clients must have a consistent view of the data regardless of the DB node they are being served. And with availability, all clients must be able to obtain a response from a some DB node for reads/writes (i.e., all nodes are never down at the same time).
But for some reason, I'm choking on the partitioning piece of CAP, and what it's significance is, especially with respect to DDBMSes.
With a distributed database, you by definition have multiple (clustered) nodes. Depending on network & systems architecture, physical devices, etc., you're going to have performance issues when replicating or communicating (semi-joins, etc.) between nodes anyways. So is the "P" in CAP simply some way of speeding up performance in a DDBMS; performance that would otherwise be hindered without the P-guarantee?
Also, how does the "P" relate to a single node (non-clustered) DB? I feel like it's completely irrelevant in that context. Thanks in advance!