Consistència vs Disponibilitat
El teorema CAP (Consistency-Availability-Partition) diu que hom només pot aconseguir 2 dels 3 objectius quan dissenya un sistema informàtic. Dit d’una altra manera:
- o bé ho tens tot centralitzat i les dades no estan partides en diversos centres de càlcul.
- o bé la disponibilitat de les dades no sempre és ràpida.
- o bé hi ha moments que els diversos centres de càlcul tenen versions diferents de les dades.
El problema bàsicament és quan s’han de sincronitzar les dades entre centres de càlcul pot produir-se un timeout. Aleshores quan es produeix el timeout només es poden fer dues coses:
- o no es dóna per feta la transacció fins que les dades s’hagin enviat i per tant cal repetir la comunicació indefinidament. Per tant augmenta el temps de resposta i es decrementa la disponibilitat.
- o s’ignora l’error i continua com si tot hagués anat bé i es deixa que per un temps les dades dels dos centres de càlcul tinguin versions diferents.
En el document CAP twelve years later podeu trobar un article molt interessant sobre el tema i veureu com ha canviat el problema al llarg d’aquests últims 12 anys.