Abandoning ACID a favore di BASE in Database Engineering

Basi di relazione sò designati da credibilità è cunsistenza à u core. I ingegni chì anu sviluppatu fucalizate cun un mudellu transaczuniale chì assicura chì i quattru principiu di u mudellu ACID serà sempre cunservatu. In ogni casu, l'avventu di un novu mudellu di basa di basa di struttura hè già l'Acid ACID nantu à a so testa. U mudellu di basa di basa NoSQL abbandunà u mudellu rilativu assai strutturatu a favore di una stima di a magia / magia flexibile. Stu approciliu nunstruituatu à e dati precisa una alternativa à u mudellu ACID: u mudellu BASE.

Basic principles of the ACID Model

Ci sò quattru principi di basa di u mudellu ACID:

L' atomizia di i transacciones assicura chì ogni transazzione di basa di dati hè una unità singola chì adopten un "all or nothing" approchment à l'esecutzione. Sì qualchì affirmazione di a transaccione falla, a transazzione sana estremità.

Basi raziunale anu puru a consistenza di ogni transazzione cù e reguli di a basa di dati. Se qualunque elementu di una transizione atomica disturbe a coherenza di a basa di dati, a transacción sana ùn falla.

U mutore di a basa di dati impone l ' isolamentu trà e transazzione multiplici chì si trovani o vicinu à u stessu tempu. Ogni transazzioni allora o prima o dopu ogni altra transizione è a vista di a basa di dati chì una transazzione vede à u principiu hè solu alteratu da a transazzione stessa prima di a so cunclusione. Nisun transazione ùn avè mai vede u pruduttu intermedu di una altra transacción.

U principiu finali ACID, durabilità , assicura chì una volta una transacción hè compromesa à a basa di dati, hè cunservatu per mezu à l'utilizazione di copia di salvezza è di logu di transaczione. In casu d'un fallimentu, sti mekanismi ponu esse usatu per rinfurzà a transazzioni cummandata.

Core Principi di BASE

NoSQL databases, per altra parte, adopranu situazione unni u mudellu ACID hè enormi o ùn anu da impidiscia l'operazione di a basa di dati. Invece, NoSQL hè invicata nantu à un mudellu più amatu chì sapendu, cuncepimentu, cum'è u mudellu BASE. Stu mudeli accòstate a flexibilità offerta da NoSQL è i plantezii simili à a gestione è curazione di dati micca strutturati. A basa custituita da trè principii:

Disposizione basica . L'attruvatu di basa di a basa di NoSQL incalca nantu à a dispunibilità di dati ancu in a presenza di parechji fallimenti. Hè per via di un accordu assai distributtu à a gestione di una basa. Invece di mantene una sola big data store è cen centru in a tolerenza falata di quissa tenda, a basa di NoSQL distribuse data in parechji sistemi di almacenamento cun un altu gradu di replicazione. In l'improbabile eventu chì un fallimentu astruisce l'accessu à un segnu di dati, questu ùn hè micca ubligatoriu in una basa di basa di basa.

Soft State . BASE abbanduneghjenu i cumpitenzi di coherenza di u mudellu ACID abbastanza cumplittamenti. Unu di i conceptualis basics detta BASE hè chì a consistenza di dati hè u prublemu di u sviluppatore è ùn deve esse mancu trattatu da a basa di dati.

Consistency eventuale . L'unicu requisitu chì a basa di basa di NoSQL hannu nant'à a coherenza hè di esse dumandà chì à qualchì puntu in u futuru, e dati converge à un statu consistente. Nisunu garanzii sò stampati, cumu nantu à quandu questu hè stallatu. Hè una partenza cumpleta di u còdice di coherenza immediata di l'ACID chì pruibisce una transazzione da esecutà finu à chì a transacción previa hà cumpretau è a basa di datu cunghjillau à un statu consistente.

U mudellu BASE ùn hè micca appruvatu per ogni situazione, ma hè sensu una alternazione flexibule à u mudellu ACID per e basa di dati chì ùn deve micca bisognu strettu à un mudellu riligatoricu.