Transacciones en NoSQL

Un NoSQL que originalmente se refiere a no SQL o no relacional es una base de datos que proporciona un mecanismo para el almacenamiento y la recuperación de datos. En este artículo, veremos transacciones NoSQL. Hay algunas características de NoSQL:

  • Tiene la función de escalado horizontal.
  • La principal ventaja de usar NoSQL es que es fácil de usar para los desarrolladores.
  • NoSQL tiene esquemas muy flexibles.

Tipos de base de datos NoSQL:

  • Bases de datos de valores clave: solo contienen claves y valores, por lo que se denominan tipos de bases de datos más simples.
  • Base de datos de documentos: en estas bases de datos contienen campos y valores y siempre almacenan el documento de forma similar a JSON.
  • Almacenes de columnas anchas: estas son las bases de datos NoSQL especiales porque almacenan datos en forma de tablas, filas y columnas.
  • Bases de datos de gráficos: aquí hay Nodes y bordes presentes donde los Nodes se utilizan para almacenar información sobre lugares, cosas y personas también. mientras que los bordes se utilizan para almacenar información sobre la relación entre los Nodes.

Transacciones en NoSQL:

Aquí la semántica transaccional se describe en términos de propiedades ACID:

  • Atomicidad:   significa que la transacción puede completarse o falla por completo. No hay una finalización parcial de la transacción en él.
  • Consistencia: La base de datos siempre está en un estado consistente mientras las transacciones están al principio y al final. Los datos deben ser consistentes cuando la transacción comienza y finaliza.
  • Aislamiento: el aislamiento es la propiedad principal, ya que significa que cuando se realizan dos transacciones al mismo tiempo, obtenemos el mismo resultado cuando la transacción se ejecuta en secuencia o en paralelo.
  • Durabilidad: cuando la transacción está finalizando, no se puede revertir como lo establece esta propiedad de la transacción. También establece que cualquier cambio en las transacciones debe guardarse.

La base de datos NoSQL mantiene todas estas propiedades. Aquí, en la base de datos de coherencia, se proporcionan varias políticas de coherencia diferentes. En un extremo, la aplicación puede especificar la consistencia absoluta que en realidad garantiza que todas las lecturas devuelvan el valor escrito más reciente para una clave designada determinada. dondequiera que en el otro extremo, la aplicación tenga la capacidad de tolerar los datos inconsistentes y pueda especificar una consistencia débil.

El objetivo principal de Isolation es garantizar que una operación sea independiente de otras operaciones concurrentes e incluso tenga la capacidad de bloqueo optimista/pesimista.

La durabilidad nos dice principalmente que los datos se almacenan en un caso cuando ocurre la falla del sistema. En durabilidad, los datos son lo suficientemente duraderos si el disco falla, los datos se pueden almacenar en cualquier otro caso, la memoria, incluso la memoria a veces se puede bloquear, pero si los datos son duraderos, los datos se pueden guardar en cualquier lugar y se pueden recuperar cuando se van a utilizar.

Importancia de las transacciones ACID:

Todas estas transacciones ácidas que leemos arriba tienen que garantizar la mayor posibilidad de confiabilidad e integridad de los datos. Estas transacciones ácidas aseguran que nuestros datos nunca caigan en un estado inconsistente porque la operación o tarea solo se completa parcialmente o no se puede completar. Las propiedades ACID brindan corrección y consistencia a nuestra base de datos.

Funcionamiento de las transacciones ACID:

Discutimos el funcionamiento de las transacciones ACID tomando el ejemplo:

Example of ACID transactions

 

Tenemos que enviar 50 de S1 a S2 por lo que tenemos que saber aquí cómo funciona la transacción ACID en tal operación:

1. Atomicidad: La atomicidad asegura que la operación completa se lleve a cabo o sea cancelada. Asegura que se produzcan ambas operaciones o que no se produzca ni una sola.

  • Primera operación S1 : A – 50;
  • Segunda operación S2: B + 50;

2. Consistencia: la propiedad de consistencia asegura que la integridad de las transacciones se mantenga adecuadamente. Como:

  • Antes de la transacción S1: A + B = 150. (A = 100, B = 50).
  • Después de la transacción: S2: A + B = 150. (A = 50, B = 100).

3. Aislamiento: el aislamiento garantiza que si las dos transacciones están en curso, no se puede acceder a ninguna otra transacción entre ellas. Significa que se pueden realizar dos operaciones a la vez y ninguna otra operación o tarea puede interferir con ellas.

Por ejemplo, si dos operaciones como A – 50 y B + 50 están funcionando, ninguna tercera transacción puede interferir con ellas.

4. Durabilidad:  como discutimos anteriormente, una vez que completa la operación no se puede revertir después de eso. Si se completan todas las transacciones, no puede volver a sus pasos anteriores.

Publicación traducida automáticamente

Artículo escrito por saranshgaur26 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *