Al renunciar a la consistencia, el sistema puede lograr otras dos características altamente deseables: Se supone que las fallas de los componentes son inevitables; por lo tanto, ambas características se consideraron necesarias para brindar un servicio web confiable.
El teorema CAP establece que no es posible que un sistema exhiba estas propiedades junto con la consistencia; por lo tanto, los diseñadores necesitaban conformarse con una forma más débil de consistencia.
Continuando con el ejemplo anterior, considere dos procesos, A y B, ejecutando el mismo programa.
B intentará hacer lo mismo; por lo tanto, el valor final del contador será 1, aunque el valor final esperado del contador sea 2, porque el sistema intentó dos operaciones de incremento, una por A y otra por B.
Esto introduce cierta complejidad adicional; si SimpleDB no pudo almacenar el nuevo valor porque el valor actual no era el esperado, el programa debe repetir los pasos 1 a 3 hasta que la operación de colocación condicional realmente cambie el valor almacenado.
La razón por la que pueden surgir resultados incoherentes cuando no se utiliza la operación de lectura coherente es que SimpleDB almacena datos en varias ubicaciones (para disponibilidad), y es posible que los nuevos datos del paso 1 no se escriban en todas las ubicaciones cuando SimpleDB recibe la solicitud de datos en el paso 2.
Amazon desaconseja el uso de lectura consistente, a menos que sea necesario para la corrección.