Atomicidad (sistemas de bases de datos)

AjustarCompartirImprimirCitar
Propiedad del sistema de bases de datos ACID

En los sistemas de bases de datos, atomicidad (del griego antiguo: ἄτομος, romanizado: átomos, lit. 'indivisible') es uno de los ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad) propiedades de transacción. Una transacción atómica es una serie indivisible e irreducible de operaciones de base de datos de manera que todas ocurren o no ocurre nada. Una garantía de atomicidad evita que las actualizaciones de la base de datos se realicen solo parcialmente, lo que puede causar mayores problemas que rechazar toda la serie por completo. Como consecuencia, otro cliente de base de datos no puede observar que la transacción esté en curso. En un momento, esto aún no ha sucedido, y en el siguiente ya ha ocurrido en su totalidad (o no pasó nada si la transacción se canceló en curso).

Un ejemplo de una transacción atómica es una transferencia monetaria de la cuenta bancaria A a la cuenta B. Consta de dos operaciones, retirar el dinero de la cuenta A y guardarlo en la cuenta B. Realizar estas operaciones en una transacción atómica garantiza que el La base de datos permanece en un estado consistente, es decir, no se pierde ni se crea dinero si alguna de esas dos operaciones falla.

El mismo término también se utiliza en la definición de Primera forma normal en sistemas de bases de datos, donde en cambio se refiere al concepto de que los valores de los campos no pueden consistir en múltiples valores más pequeños que se descompondrán, como una cadena en la que se Se pueden empaquetar nombres, números, fechas u otros tipos.

Ortogonalidad

La atomicidad no se comporta de forma completamente ortogonal con respecto a las otras propiedades ACID de las transacciones. Por ejemplo, el aislamiento se basa en la atomicidad para revertir la transacción adjunta en caso de una violación del aislamiento, como un punto muerto; La coherencia también se basa en la atomicidad para revertir la transacción adjunta en caso de que una transacción ilegal viole la coherencia.

Como resultado de esto, una falla al detectar una infracción y revertir la transacción adjunta puede causar una falla de aislamiento o coherencia.

Implementación

Normalmente, los sistemas implementan Atomicidad proporcionando algún mecanismo para indicar qué transacciones han comenzado y cuáles han terminado; o manteniendo una copia de los datos antes de que se produjera cualquier cambio (lectura-copia-actualización). Varios sistemas de archivos han desarrollado métodos para evitar la necesidad de mantener múltiples copias de datos, utilizando el registro en diario (ver sistema de archivos con registro en diario). Las bases de datos generalmente implementan esto mediante algún tipo de registro/diario para rastrear los cambios. El sistema sincroniza los registros (a menudo los metadatos) según sea necesario después de que los cambios se hayan realizado correctamente. Posteriormente, la recuperación tras fallo ignora las entradas incompletas. Aunque las implementaciones varían dependiendo de factores como los problemas de concurrencia, el principio de atomicidad (es decir, éxito total o fracaso total) permanece.

En última instancia, cualquier implementación a nivel de aplicación depende de la funcionalidad del sistema operativo. A nivel del sistema de archivos, los sistemas compatibles con POSIX proporcionan llamadas al sistema como open(2) y flock(2) que permiten que las aplicaciones abran o bloqueen un archivo de forma atómica. A nivel de proceso, los subprocesos POSIX proporcionan primitivas de sincronización adecuadas.

El nivel de hardware requiere operaciones atómicas como Probar y configurar, Obtener y agregar, Comparar e intercambiar o Cargar enlace/Almacenamiento condicional, junto con barreras de memoria. Los sistemas operativos portátiles no pueden simplemente bloquear las interrupciones para implementar la sincronización, ya que el hardware que carece de ejecución concurrente, como hyper-threading o multiprocesamiento, ahora es extremadamente raro.

Contenido relacionado

USENIX

USENIX es una organización estadounidense sin fines de lucro 501con sede en Berkeley, California y fundada en 1975 que respalda sistemas informáticos...

Función de orden superior

En matemáticas e informática, una función de orden superior es una función que hace al menos una de las siguientes...

Máquina virtual paralela

Parallel Virtual Machine es una herramienta de software para redes paralelas de computadoras. Está diseñado para permitir el uso de una red de máquinas...
Más resultados...
Tamaño del texto: