Saltar al contenido

¿Cómo funcionan las transacciones ACID y de base de datos?

Nuestros programadores estrellas han agotado sus provisiones de café, por su búsqueda a tiempo completo por la resolución, hasta que Noé halló el hallazgo en Gitea por lo tanto hoy la comparte contigo.

Solución:

ACID es un conjunto de propiedades que le gustaría aplicar al modificar una base de datos.

  • Atomicidad
  • Consistencia
  • Aislamiento
  • Durabilidad

Una transacción es un conjunto de cambios relacionados que se utilizan para lograr algunas de las propiedades ACID. Las transacciones son herramientas para lograr las propiedades ACID.

La atomicidad significa que puede garantizar que se realice toda una transacción, o que no se produzca ninguna; puede realizar operaciones complejas como una sola unidad, todo o nada, y un bloqueo, falla de energía, error o cualquier otra cosa no le permitirá estar en un estado en el que solo se hayan producido algunos de los cambios relacionados.

Coherencia significa que usted garantiza que sus datos serán consistentes; nunca se violará ninguna de las restricciones que tiene sobre los datos relacionados.

El aislamiento significa que una transacción no puede leer datos de otra transacción que aún no se ha completado. Si dos transacciones se ejecutan al mismo tiempo, cada una verá el mundo como si se ejecutaran secuencialmente, y si una necesita leer datos escritos por otra, tendrá que esperar hasta que la otra termine.

Durabilidad significa que una vez que se completa una transacción, se garantiza que todos los cambios se han registrado en un medio duradero (como un disco duro), y también se registra el hecho de que la transacción se ha completado.

Entonces, las transacciones son un mecanismo para garantizar estas propiedades; son una forma de agrupar acciones relacionadas de manera que, como un todo, un grupo de operaciones puede ser atómico, producir resultados consistentes, aislarse de otras operaciones y registrarse de forma duradera.

ACID son propiedades deseables de cualquier motor de procesamiento de transacciones.

Un DBMS es (si es que es bueno) un tipo particular de motor de procesamiento de transacciones que expone, por lo general en gran medida, pero no del todo, esas propiedades.

Pero existen otros motores que también pueden exponer esas propiedades. El tipo de software que solía llamarse “monitores TP” es un ejemplo de ello (el equivalente actual son principalmente servidores web).

Dichos monitores TP pueden acceder a recursos que no sean un DBMS (por ejemplo, una impresora) y aun así garantizar ACID para sus usuarios. Como ejemplo de lo que ACID podría significar cuando una impresora está involucrada en una transacción:

  • Atomicidad: se imprime un documento completo o nada en absoluto
  • Coherencia: al final de la transacción, la alimentación del papel se coloca en la parte superior de la página
  • Aislamiento: no se obtienen dos documentos mixed arriba durante la impresión
  • Durabilidad: la impresora puede garantizar que no estaba “imprimiendo” con cartuchos vacíos.

Modifiqué ligeramente el ejemplo de la impresora para hacerlo más explicable.

1 documento que tenía 2 páginas de contenido fue enviado a la impresora

Transacción – documento enviado a impresora

  • atomicidad – la impresora imprime 2 páginas de un documento o ninguna
  • consistencia – la impresora imprime media página y la página se atasca. La impresora se reinicia e imprime 2 páginas con todo el contenido
  • aislamiento – mientras había demasiadas impresiones en curso – la impresora imprime el contenido correcto del documento
  • durabilidad – durante la impresión, hubo un corte de energía – la impresora vuelve a imprimir documentos sin ningún error

Espero que esto ayude a alguien a familiarizarse con el concepto de ACID

Puntuaciones y reseñas

Tienes la opción de añadir valor a nuestro contenido cooperando tu veteranía en las explicaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *