Abandonant l'ACID a favor de BASE en l'enginyeria de base de dades

Les bases de dades relacionals estan dissenyades amb la seva fiabilitat i coherència. Els enginyers que els van desenvolupar es van centrar en un model transaccional que assegura que els quatre principis del model ACID sempre es conservaran. No obstant això, l'arribada d'un nou model de base de dades no estructurat està convertint ACID al capdavant. El model de base de dades NoSQL evita el model relacional altament estructurat a favor d'un enfocament flexible de botons clau / valor. Aquest enfocament no estructurat de les dades requereix una alternativa al model ACID: el model BASE.

Principis bàsics del model ACID

Hi ha quatre principis bàsics del model ACID:

L' atomització de les transaccions garanteix que cada transacció de la base de dades és una única unitat que adopta un enfocament "tot o gens" per a l'execució. Si alguna declaració de la transacció falla, la transacció sencera es torna a activar.

Les bases de dades relacional també garanteixen la coherència de cada transacció amb les regles comercials de la base de dades. Si qualsevol element d'una transacció atòmica alterés la consistència de la base de dades, la transacció completa falla.

El motor de la base de dades imposa l' aïllament entre diverses transaccions que es produeixen al mateix moment o bé al mateix temps. Cada transacció es produeix abans o després de cada altra transacció i la vista de la base de dades que una transacció veu al principi només es veu alterada per la transacció abans de la seva celebració. Cap transacció mai hauria de veure el producte intermedi d'una altra transacció.

El principi ACID final, la durabilitat , garanteix que una vegada que una transacció es comprometi amb la base de dades, es conserva permanentment mitjançant l'ús de còpies de seguretat i registres de transaccions. En cas de fracàs, aquests mecanismes es poden utilitzar per restablir transaccions compromeses.

Principis bàsics de BASE

Les bases de dades NoSQL, d'altra banda, abracen situacions on el model ACID és excessiu o, de fet, dificulta el funcionament de la base de dades. En canvi, NoSQL es basa en un model més suau conegut, de manera adequada, com el model BASE. Aquest model acull la flexibilitat que ofereix NoSQL i enfocaments similars a la gestió i conservació de dades no estructurades. BASE consta de tres principis:

Disponibilitat bàsica . L'enfocament de la base de dades NoSQL se centra en la disponibilitat de dades fins i tot en la presència de múltiples fracassos. Això s'aconsegueix utilitzant un enfocament altament distribuït per a la gestió de bases de dades. En lloc de mantenir una única gran tenda de dades i centrar-se en la tolerància a errors d'aquesta botiga, les bases de dades NoSQL distribueixen dades en molts sistemes d'emmagatzematge amb un alt grau de replicació. En el cas improbable que un error fracassi l'accés a un segment de dades, això no significa necessàriament una interrupció completa de la base de dades.

Estat suau . Les bases de dades BASE abandonen pràcticament completament els requisits de coherència del model ACID. Un dels conceptes bàsics que hi ha darrere de BASE és que la consistència de les dades és el problema del desenvolupador i no ha de ser manejada per la base de dades.

Consistència eventual . L'únic requisit que les bases de dades de NoSQL tenen respecte a la consistència és exigir que en algun moment en el futur, les dades convergeixen a un estat coherent. Tanmateix, no es garanteix quan es produirà això. Es tracta d'una sortida completa del requisit de coherència immediat d'ACID que prohibeix que una transacció s'executi fins que la transacció prèvia s'hagi completat i la base de dades ha convergit a un estat coherent.

El model BASE no és apropiat per a cada situació, però sens dubte és una alternativa flexible al model ACID per a bases de dades que no requereixen una estricta adhesió a un model relacional.