Bases de datos de gráficos para principiantes: Explicación de ACID vs.BASE

Cuando se trata de bases de datos NoSQL, los modelos de consistencia de datos a veces pueden ser sorprendentemente diferentes a los utilizados por las bases de datos relacionales (así como bastante diferentes de otras tiendas NoSQL).Los dos modelos de consistencia más comunes se conocen por las siglas ACID y BASE. Si bien a menudo se enfrentan entre sí en una batalla por la victoria final (por favor, que alguien haga un video de eso), ambos modelos de consistencia vienen con ventajas y desventajas, y ninguno siempre es perfecto.Echemos un vistazo más de cerca a las ventajas y desventajas de ambos modelos de consistencia de base de datos.

Conozca las diferencias entre los modelos de consistencia de datos ÁCIDOS y de BASE y sus compensaciones

En esta serie de blogs de Bases de datos de gráficos para principiantes, lo guiaré a través de los conceptos básicos de la tecnología de gráficos asumiendo que tiene poco (o ningún) fondo en el espacio. En las últimas semanas, hemos abordado por qué la tecnología de gráficos es el futuro, por qué importan los datos conectados, los aspectos básicos (y los escollos) del modelado de datos, por qué importa un lenguaje de consulta de base de datos, las diferencias entre los lenguajes de consulta imperativos y declarativos, el modelado predictivo utilizando la teoría de gráficos, los aspectos básicos de los algoritmos de búsqueda de gráficos y por qué necesitamos bases de datos NoSQL.
Esta semana, echaremos un vistazo más de cerca a las diferencias clave entre los modelos de consistencia de bases de datos ACID y BASE y lo que significan sus compensaciones para sus transacciones de datos.

El Modelo de consistencia ÁCIDA

Muchos desarrolladores están familiarizados con las transacciones ÁCIDAS al trabajar con bases de datos relacionales. Como tal, el modelo de consistencia ácida ha sido la norma durante algún tiempo.La garantía clave de ACID es que proporciona un entorno seguro en el que operar con sus datos. El acrónimo ACID significa:
Atomic

    • Todas las operaciones de una transacción se realizan correctamente o cada operación se revierte.

Consistente

    • Al completar una transacción, la base de datos es estructuralmente sólida.

Aislado

    • Transacciones no compiten el uno con el otro. El acceso contencioso a los datos es moderado por la base de datos para que las transacciones parezcan ejecutarse de forma secuencial.

Durable

    • Los resultados de la aplicación de una transacción son permanentes, incluso en presencia de fallos.

Las propiedades ácidas significan que una vez que se completa una transacción, sus datos son consistentes (jerga técnica: consistencia de escritura) y estables en el disco, lo que puede implicar múltiples ubicaciones de memoria distintas.

La consistencia de escritura es algo maravilloso para los desarrolladores de aplicaciones, pero también requiere un bloqueo sofisticado, que normalmente es un patrón pesado para la mayoría de los casos de uso.Cuando se trata de tecnologías NoSQL, la mayoría de las bases de datos de gráficos(incluido Neo4j) utilizan un modelo de consistencia ácida para garantizar que los datos se almacenen de forma segura y consistente.

El modelo de consistencia BASE

Para muchos dominios y casos de uso, las transacciones ácidas son mucho más pesimistas (es decir, están más preocupadas por la seguridad de los datos) de lo que el dominio realmente requiere.
En el mundo de las bases de datos NoSQL, las transacciones de ÁCIDO están menos de moda, ya que algunas bases de datos han aflojado los requisitos de consistencia inmediata, frescura y precisión de los datos para obtener otros beneficios, como la escala y la resistencia.
(En particular, RavenDB, basada en.NET, ha resistido la tendencia entre las tiendas agregadas de respaldar transacciones de ÁCIDO.)
Así es como se desglosa el acrónimo BASE:
Disponibilidad básica

    • La base de datos parece funcionar la mayor parte del tiempo.

Las tiendas de estado suave

    • no tienen que ser consistentes con la escritura, ni las diferentes réplicas tienen que ser mutuamente consistentes todo el tiempo.

Consistencia eventual

    • Almacena consistencia de exhibición en algún momento posterior (por ejemplo, perezosamente en el tiempo de lectura).

Las propiedades de BASE son mucho más flexibles que las garantías de ÁCIDO, pero no hay un mapeo directo uno por uno entre los dos modelos de consistencia (un punto que probablemente no se puede exagerar).
Un almacén de datos BASE valora la disponibilidad (ya que es importante para la escala), pero no ofrece una consistencia garantizada de los datos replicados en el momento de escritura. En general, el modelo de consistencia de BASE proporciona una garantía menos estricta que ACID: los datos serán consistentes en el futuro, ya sea en tiempo de lectura (por ejemplo, Riak) o siempre serán consistentes, pero solo para ciertas instantáneas pasadas procesadas (por ejemplo, Datomic).
El modelo de consistencia de base es utilizado principalmente por los almacenes agregados, incluidos los almacenes de familia de columnas, valor de clave y documentos.

Navegar ÁCIDO vs Ventajas y desventajas BÁSICAS

No hay una respuesta correcta para determinar si su aplicación necesita un modelo de consistencia ÁCIDA o BASE. Los desarrolladores y arquitectos de datos deben seleccionar sus compensaciones de coherencia de datos caso por caso, no solo en función de las tendencias o el modelo utilizado anteriormente.Dada la consistencia flexible de BASE, los desarrolladores deben ser más conocedores y rigurosos sobre los datos consistentes si eligen un almacén BASE para su aplicación. Es esencial estar familiarizado con el comportamiento BASE de la tienda de agregados elegida y trabajar dentro de esas restricciones.Por otro lado, la planificación en torno a las limitaciones de la BASE a veces puede ser una gran desventaja en comparación con la simplicidad de las transacciones de ÁCIDO. Una base de datos totalmente ÁCIDA es la opción perfecta para casos de uso en los que la fiabilidad y consistencia de los datos son esenciales (banca, ¿alguien?).
En las próximas semanas profundizaremos en más detalles de ÁCIDO / BASE cuando se trata de tiendas de agregados y otras tecnologías de gráficos.

Vaya más allá de lo básico:
Obtenga su copia del libro de bases de datos de gráficos O’Reilly y comience a usar la tecnología de gráficos para resolver problemas del mundo real.Obtenga el Libro

Póngase al día con el resto de la serie de Bases de Datos de Gráficos para Principiantes:

    • Por qué la Tecnología de gráficos es el futuro
    • Por qué Importan los Datos conectados
    • Los conceptos básicos del Modelado de Datos
    • Trampas de Modelado de datos para Evitar
    • Por qué un Lenguaje de Consulta de Base de Datos Importa (Más De lo Que Piensa)
    • Lenguajes de Consulta Imperativos vs. Declarativos: ¿Cuál es la Diferencia?
    • Teoría de grafos & Modelado Predictivo
    • Fundamentos del Algoritmo de búsqueda de Grafos
    • Por qué necesitamos Bases de datos NoSQL
    • Un Recorrido por Almacenes Agregados
    • Otras Tecnologías de Datos de Grafos
    • Tecnología de Grafos Nativa vs. No Nativa



Deja una respuesta

Tu dirección de correo electrónico no será publicada.