Escriu per cercar…

Transacciones

Una transacción es una secuencia de operaciones que o se aplican todas, o no se aplica ninguna.

S'ensenya a
Bases de dadesDocumentDAMDAWDAW-BIOBig data aplicatDades no estructurades i intel·ligència de negociIABD

Introducción

Las transacciones llevan muchos años siendo una pieza central de las bases de datos relacionales, pero hasta hace poco no estaban en las bases de datos documentales.

El motivo es que un documento puede ser una estructura anidada, con documentos y listas dentro en lugar de solo valores simples. Esto hace que los datos relacionados quepan a menudo dentro de un solo documento, y que a menudo no sea necesario modificar varios documentos como parte de una sola operación lógica.

Pero hay aplicaciones donde sí tienes que acceder y modificar varios documentos en una sola operación, con la integridad garantizada.

Piensa en una transferencia de dinero entre dos cuentas: si el cargo se aplica y el abono no, el dinero ha desaparecido. Las dos escrituras tienen que pasar las dos, o ninguna.

Entorno de trabajo

Por la manera en que están implementadas en MongoDB, las transacciones solo se pueden hacer en instancias que formen parte de un clúster: un clúster fragmentado o un conjunto de réplicas.

Un conjunto de réplicas de MongoDB es un grupo de instancias interconectadas que trabajan juntas para ofrecer alta disponibilidad y tolerancia a errores.

Se elige un nodo como primario para gestionar las escrituras, y el resto son secundarios que replican sus datos. Si el primario falla, un secundario toma el relevo.

Vuelve a la máquina mongodb que has usado hasta ahora:

ps
wslx connect mongodb

El servidor que tienes ahí es de un solo nodo, y un nodo solo no es un clúster: las transacciones fallan ahí.

Necesitas el conjunto de réplicas, pero su nodo principal quiere el puerto 27017, que es el que ocupa el servidor de ahora. Detenlo, no lo borres — lo recuperarás en Control d'accés:

shell
docker stop mongo
mongo

Detener un contenedor no le toca los datos: las colecciones de las páginas anteriores siguen dentro.

Ahora instala el conjunto de réplicas:

shell
git clone https://gitlab.com/xtec/data/mongo
cd mongo
./install.sh

Estàs llegint una vista prèvia.

Inicia la sessió amb Google per llegir la pàgina sencera.

Inicia la sessió amb Google

Només et demanarem que acceptis les condicions del servei.