¿Qué es ACID y por qué me lo preguntan en todas las entrevistas?
Ruth R.
Nivel 2 ·
Ruth R.
Nivel 2 ·
Pluton8
Nivel 1 ·
Ejemplo clásico: transferencia de 100 de la cuenta A a la B. Atomicidad: se resta de A y se suma a B, o no pasa ninguna de las dos. Nunca queda a medias.
Alberto M.
Nivel 3 ·
Consistencia: la transacción lleva la base de un estado válido a otro válido, respetando las restricciones (claves foráneas, CHECK, saldo no negativo si lo definiste).
ROBERTO S.
Nivel 3 ·
Aislamiento: si dos transferencias corren al mismo tiempo, no se pisan entre sí. En el nivel más estricto, el resultado es como si hubieran corrido una después de la otra.
Silvina T.
Nivel 1 ·
Durabilidad: una vez que la base te confirmó el COMMIT, aunque se corte la luz un segundo después, el cambio no se pierde. Para eso está el log de escritura anticipada (WAL).
Ruth R.
Nivel 2 ·
Con la transferencia queda clarísimo. Lo del WAL no lo sabía, me lo anoto para la próxima repregunta.
Camila
Nivel 2 ·
Si querés lucirte, mencioná que el aislamiento serializable tiene costo de rendimiento, y por eso los motores usan por defecto niveles más relajados (read committed en Postgres, repeatable read en MySQL).