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 se conserven siempre. Sin embargo, la llegada de un nuevo modelo de base de datos no estructurado está poniendo patas arriba a ACID. 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.

Red de computadoras



Índice
  1. Principios básicos del modelo ACID
  2. Principios básicos de BASE
  3. Casos de uso relativos

Principios básicos del modelo ACID

Hay cuatro principios básicos del modelo ACID:

  • Él atomicidad de transacciones garantiza que cada transacción de la base de datos sea una sola unidad que adopte un enfoque de ejecución de "todo o nada". Si alguna instrucción en la transacción falla, se revierte toda la transacción.
  • Las bases de datos relacionales también aseguran la consistencia de cada transacción con las reglas de negocio de la base de datos. Si algún elemento de una transacción atómica interrumpe la consistencia de la base de datos, la transacción completa falla.
  • El motor de la base de datos impone aislamiento entre múltiples transacciones que ocurren en o cerca del mismo tiempo. 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 comienzo solo se ve 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 último principio ACID, durabilidad, garantiza que una vez que se confirma una transacción en la base de datos, se conserva de forma permanente 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, dificultaría el funcionamiento de la base de datos. En cambio, NoSQL se basa en un modelo más suave conocido, apropiadamente, como el modelo BASE. Este modelo se adapta a la flexibilidad que ofrece NoSQL y enfoques similares para la gestión y conservación de datos no estructurados. BASE consta de tres principios:

  • Disponibilidad básica. El enfoque de la base de datos NoSQL se centra en la disponibilidad de los datos incluso en presencia de múltiples fallas. Logra esto mediante el uso de 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 fallos 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 improbable caso 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 blando. Las bases de datos BASE abandonan los requisitos de consistencia del modelo ACID prácticamente 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 manejado por la base de datos.
  • Consistencia eventual. El único requisito que tienen las bases de datos NoSQL con respecto a la consistencia es exigir que en algún momento en el futuro, los datos converjan a un estado consistente. Sin embargo, no se garantiza 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.

En BASE, la disponibilidad básica puede significar que ni siquiera controla las fuentes de datos. Por ejemplo, puede vincular a conjuntos de datos públicos como parte de su esfuerzo.


Casos de uso relativos

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

Los casos de uso óptimos para las bases de datos que usan ACID dependen de datos altamente estructurados con entradas y salidas predecibles. Por lo tanto, las bases de datos de recursos humanos, las bases de datos minoristas y los registros médicos electrónicos se benefician de la sólida verificación de consistencia interna que ofrece ACID.

Sin embargo, las soluciones BASE son mejores para temas confusos como el análisis de sentimientos. Por ejemplo, un proyecto estructurado en BASE podría escanear un feed de Twitter en busca de palabras que impliquen emoción en función de un hashtag específico. El feed de Twitter no está bien estructurado ni tiene instancias locales, pero el flujo de datos ofrece la información que está programada en las consultas, incluso si el alcance y la naturaleza de esos datos no están claramente delimitados.

Entradas Relacionadas

Subir

Utilizamos cookies propias y de terceros para personalizar contenidos y analizar el tráfico web. Política de privacidad