Abandonando ACID a favor de BASE en ingeniería de bases de datos

Las bases de datos relacionales están diseñadas con confiabilidad y consistencia en su núcleo. Los ingenieros que los desarrollaron se centraron en un modelo transaccional que garantiza que los cuatro principios del modelo ACID siempre se conservarán.

Las bases de datos relacionales están diseñadas con confiabilidad y consistencia en su núcleo. Los ingenieros que los desarrollaron se centraron en un modelo transaccional que garantiza que los cuatro principios del modelo ACID siempre se conservarán. Sin embargo, la llegada de un nuevo modelo de base de datos no estructurado está volcando a ACID en su cabeza. El modelo de base de datos NoSQL evita el modelo relacional altamente estructurado en favor de un enfoque flexible de almacenamiento de clave/valor. Este enfoque no estructurado de los datos requiere una alternativa al modelo ACID: el modelo BASE.

Principios básicos del modelo ACID

Hay cuatro principios básicos del modelo ACID:

  • La atomicidad de las transacciones asegura que cada transacción de la base de datos sea una sola unidad que adopte un enfoque de «todo o nada» para la ejecución. Si falla cualquier declaración en la transacción, la transacción completa se revierte.
  • Las bases de datos relacionales también aseguran la coherencia de cada transacción con las reglas comerciales de la base de datos. Si algún elemento de una transacción atómica interrumpiera la consistencia de la base de datos, la transacción completa falla.
  • El motor de la base de datos impone el aislamiento entre múltiples transacciones que ocurren en el mismo momento o cerca de él. Cada transacción ocurre antes o después de cualquier otra transacción y la vista de la base de datos que ve una transacción al principio solo es alterada por la transacción misma antes de su conclusión. Ninguna transacción debería ver el producto intermedio de otra transacción.
  • El principio final de ACID, durabilidad , asegura que una vez que una transacción se confirma en la base de datos, se conserva permanentemente mediante el uso de copias de seguridad y registros de transacciones. En caso de falla, estos mecanismos pueden usarse para restaurar transacciones comprometidas.

Principios básicos de BASE

Las bases de datos NoSQL, por otro lado, abarcan situaciones en las que el modelo ACID es excesivo o, de hecho, obstaculizaría el funcionamiento de la base de datos. En cambio, NoSQL se basa en un modelo más blando conocido, apropiadamente, como el modelo BASE. Este modelo acomoda la flexibilidad que ofrece NoSQL y enfoques similares para la gestión y curación de datos no estructurados. BASE consta de tres principios:

  • Disponibilidad básica . El enfoque de la base de datos NoSQL se enfoca en la disponibilidad de datos incluso en presencia de múltiples fallas. Lo logra utilizando un enfoque altamente distribuido para la gestión de bases de datos. En lugar de mantener un único gran almacén de datos y centrarse en la tolerancia a fallas de ese almacén, las bases de datos NoSQL distribuyen los datos en muchos sistemas de almacenamiento con un alto grado de replicación. En el caso improbable de que una falla interrumpa el acceso a un segmento de datos, esto no necesariamente resulta en una interrupción completa de la base de datos.
  • Estado suave . Las bases de datos BASE abandonan los requisitos de coherencia del modelo ACID casi por completo. Uno de los conceptos básicos detrás de BASE es que la consistencia de los datos es un problema del desarrollador y no debe ser manejada por la base de datos.
  • Consistencia eventual . El único requisito que tienen las bases de datos NoSQL con respecto a la coherencia es exigir que en algún momento en el futuro, los datos converjan a un estado coherente. Sin embargo, no se hacen garantías sobre cuándo ocurrirá esto. Esa es una desviación completa del requisito de consistencia inmediata de ACID que prohíbe que una transacción se ejecute hasta que la transacción anterior se haya completado y la base de datos haya convergido a un estado consistente.

El modelo BASE no es apropiado para todas las situaciones, pero sin duda es una alternativa flexible al modelo ACID para bases de datos que no requieren un estricto cumplimiento de un modelo relacional.

Rate article
labsfabs.com
Add a comment