Ecco come sto discutendo della PAC, in particolare riguardo a P.
La CA è possibile solo se si è d'accordo con un database monolitico a server singolo (forse con la replica ma tutti i dati su un "blocco errori" - i server non sono considerati parzialmente falliti).
Se il tuo problema richiede ridimensionamento, distribuzione e multi-server --- possono verificarsi partizioni di rete. Stai già richiedendo P. Pochi problemi a cui mi rivolgo sono suscettibili di paradigmi a server singolo (o, come ha detto Stonebraker, "la posta in gioco è distribuita"). Se riesci a trovare un problema con la CA, soluzioni come un tradizionale RDBMS non scalabile offrono molti vantaggi.
Per me raro: passiamo quindi a discutere di AP vs CP.
Puoi scegliere tra le operazioni AP e CP quando hai una partizione. Se la rete e l'hardware funzionano correttamente, ottieni la torta e la mangi anche tu.
Discutiamo la distinzione AP / CP.
AP: quando è presente una partizione di rete, consentire alle parti indipendenti di operare liberamente.
CP: quando è presente una partizione di rete, chiudere i nodi o non consentire le letture e le scritture in modo che si verifichino errori deterministici.
Mi piacciono le architetture che possono fare entrambe le cose, perché alcuni problemi sono AP e alcuni sono CP - e alcuni database possono fare entrambi. Tra le soluzioni CP e AP, ci sono anche sottigliezze.
Ad esempio, in un set di dati AP, è possibile sia letture incoerenti che generare conflitti di scrittura: si tratta di due diverse modalità AP possibili. Il sistema può essere configurato per AP con elevata disponibilità in lettura ma non consente conflitti di scrittura? Oppure il tuo sistema AP può accettare conflitti di scrittura, con un sistema di risoluzione forte e flessibile? Avrai bisogno di entrambi alla fine, o puoi scegliere un sistema che ne fa solo uno?
In un sistema CP, quanta indisponibilità ottieni con piccole partizioni (server singolo), se ce ne sono? Una maggiore replica può aumentare l'indisponibilità in un sistema CP, come fa il sistema a gestire questi compromessi?
Queste sono tutte domande da porre con CP vs AP.
Un'ottima lettura in questo settore in questo momento è il post "12 anni dopo" di Brewer. Credo che questo porti avanti il dibattito sulla PAC con chiarezza e lo consiglio vivamente.
http://www.infoq.com/articles/cap-twelve-years-later-how-the-rules-have-changed