Abandonando ACID a favor de BASE en Enxeñaría de bases de datos

As bases de datos relacionales están deseñadas con fiabilidade e consistencia no seu núcleo. Os enxeñeiros que os desenvolveron centráronse nun modelo transaccional que asegura que os catro principios do modelo ACID sempre se conservarán. Non obstante, a chegada dun novo modelo de base de datos non estruturado está transformando ACID na cabeza. O modelo de base de datos NoSQL evita o modelo relacional altamente estruturado a favor dun enfoque de tenda de valores / valor flexible. Esta aproximación non estruturada aos datos require unha alternativa ao modelo ACID: o modelo BASE.

Principios básicos do modelo ACID

Hai catro principios básicos do modelo ACID:

A atomicidade das transaccións garante que cada transacción da base de datos é unha única unidade que adopta un enfoque "todo ou nada" para a execución. Se falla algunha declaración na transacción, a transacción enteira reverterase.

As bases de datos relacionales tamén garanten a coherencia de cada transacción coas regras comerciais da base de datos. Se algún elemento dunha transacción atómica perturbase a consistencia da base de datos, a transacción enteira falla.

O motor de base de datos reforza o illamento entre varias transaccións que ocorren en ou preto do mesmo tempo. Cada transacción ocorre antes ou despois de cada outra transacción e a vista da base de datos que unha transacción ve no seu inicio só é alterada pola propia transacción antes da súa conclusión. Ningunha transacción nunca debería ver o produto intermedio doutra transacción.

O principio ACID final, durabilidade , garante que unha vez que unha transacción comprométese coa base de datos, se conserva permanentemente mediante o uso de copias de seguridade e rexistros de transaccións. En caso de fallo, estes mecanismos poden utilizarse para restaurar transaccións comprometidas.

Principios básicos de BASE

As bases de datos noSQL, por outra banda, abrazan situacións onde o modelo ACID é excesivo ou que, de feito, dificultará o funcionamento da base de datos. En cambio, NoSQL baséase nun modelo máis suave coñecido, de forma adecuada, como o modelo BASE. Este modelo acolle a flexibilidade ofrecida por NoSQL e enfoques similares para a xestión e conservación de datos non estruturados. BASE consta de tres principios:

Dispoñibilidade básica . O enfoque da base de datos NoSQL céntrase na dispoñibilidade de datos mesmo na presenza de múltiples fallos. Consegue isto empregando unha visión altamente distribuída para a xestión de bases de datos. No canto de manter unha única tenda de datos grande e centrarse na tolerancia á falla desta tenda, as bases de datos de NoSQL difunden datos en moitos sistemas de almacenamento cun alto grao de replicación. No caso improbable de que un fallo interrompe o acceso a un segmento de datos, isto non significa necesariamente unha interrupción completa da base de datos.

Estado suave . As bases de datos BASE abandonan os requisitos de consistencia do modelo ACID case completamente. Un dos conceptos básicos detrás de BASE é que a consistencia dos datos é o problema do desenvolvedor e non debe ser tratada pola base de datos.

Consistencia eventual . O único requisito que as bases de datos de NoSQL teñen respecto da consistencia é esixir que nalgún momento do futuro converteranse nun estado consistente. Sen embargo, non hai garantías sobre cando isto ocorrerá. É dicir unha saída completa da esixencia de consistencia inmediata de ACID que prohibe que a transacción se execute ata que se complete a transacción previa e que a base de datos convergira a un estado consistente.

O modelo BASE non é apropiado para cada situación, pero certamente é unha alternativa flexible ao modelo ACID para bases de datos que non esixen un cumprimento estricto dun modelo relacional.