Modelo BASE de desarrollo 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 enfocaron en un modelo transaccional que asegura que los cuatro principios del Modelo ACID siempre se conservan. Sin embargo, la llegada de un nuevo modelo de base de datos no estructurada está poniendo a ACID patas arriba. 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
artpartner-images / Getty Images

Principios básicos del modelo ACID

Hay cuatro principios básicos del modelo ACID:

  • los atomicidad de transacciones asegura que cada transacción de la base de datos es una sola unidad que adopta un enfoque de ejecución de "todo o nada". Si falla algún extracto de la transacción, se revierte toda la transacción.
  • Las bases de datos relacionales también garantizan
    consistencia de cada transacción con las reglas comerciales de la base de datos. Si cualquier elemento de una transacción atómica interrumpiera la consistencia de la base de datos, toda la transacción falla.
  • El motor de la base de datos hace cumplir aislamiento entre múltiples transacciones que ocurren al mismo tiempo o casi al mismo tiempo. Cada transacción ocurre antes o después de cualquier otra transacción, y la vista de la base de datos que una transacción ve 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, garantiza que una vez que una transacción se compromete con 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

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 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 datos incluso en presencia de múltiples fallas. Lo logra utilizando un enfoque altamente distribuido para la administració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 caso poco probable de que una falla interrumpa el acceso a un segmento de datos, esto no necesariamente resultará en una interrupción completa de la base de datos.
  • Estado blando. Las bases de datos BASE abandonan los requisitos de coherencia 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.
  • Coherencia 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 ofrecen garantías sobre cuándo ocurrirá esto. Eso es una desviación total del requisito de coherencia inmediata de ACID que prohíbe una transacción. desde la ejecución hasta que la transacción anterior se haya completado y la base de datos haya convergido a una estado.

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

Casos de uso relativo

El modelo BASE no es apropiado para todas las situaciones, pero ciertamente es una alternativa flexible al modelo ACID para bases de datos que no requieren una estricta adherencia a un modelo relacional.

Los casos de uso óptimos para las bases de datos que utilizan 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 difusos 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 o instanciado localmente, pero el flujo de datos ofrece la información que está programada en consultas, incluso si el alcance y la naturaleza de esos datos no están limpios encerrado.