Saltar al contenido

¿Qué es ACID y por qué me lo preguntan en todas las entrevistas?

Ruth R.

Nivel 2 ·

Ya me lo preguntaron en tres entrevistas y siempre respondo de memoria 'atomicidad, consistencia, aislamiento, durabilidad', pero cuando repreguntan me trabo. ¿Me lo explican con un ejemplo?
179 vistas 6 respuestas 3 0

Respuestas 6

  1. Pluton8

    Nivel 1 ·

    1 0

    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.

  2. Alberto M.

    Nivel 3 ·

    0 0

    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).

  3. ROBERTO S.

    Nivel 3 ·

    0 0

    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.

  4. Silvina T.

    Nivel 1 ·

    0 0

    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).

  5. Ruth R.

    Nivel 2 ·

    0 0

    Con la transferencia queda clarísimo. Lo del WAL no lo sabía, me lo anoto para la próxima repregunta.

  6. Camila

    Nivel 2 ·

    0 0

    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).