Yo diría que el problema más práctico es el teorema CAP, donde un sistema distribuido tiene que elegir 2 de
- Consistencia
- Una disponibilidad
- P tolerancia de art.
El detalle importante a tener en cuenta, en mi opinión, es el siguiente (de la página de Wikipedia vinculada)
En ausencia de fallas en la red, es decir, cuando el sistema distribuido se ejecuta normalmente, se puede satisfacer tanto la disponibilidad como la coherencia.
- ¿Por qué es tan importante el Big Data?
- ¿Se puede confiar en los datos autoinformados?
- ¿Debería cada científico de datos crear su propia red neuronal al menos una vez?
- ¿Qué tipo de aprendizaje automático debo usar para la clasificación de varias clases si la longitud de mi entrada es diferente en cada ejemplo de entrenamiento?
- ¿Qué son los datos en bruto en las estadísticas?
A menudo se entiende mal el CAP como si uno tuviera que elegir abandonar una de las tres garantías en todo momento. De hecho, la elección es realmente entre consistencia y disponibilidad solo cuando ocurre una partición de red o falla; en todos los demás momentos, no se debe realizar una compensación.
Los sistemas de bases de datos diseñados teniendo en cuenta las garantías tradicionales de ACID, como RDBMS, eligen la consistencia sobre la disponibilidad, mientras que los sistemas diseñados en torno a la filosofía BASE, común en el movimiento NoSQL, por ejemplo, eligen la disponibilidad sobre la consistencia.