Skip to main content

BASE-model van database-ontwikkeling

3000+ Common English Words with Pronunciation (Juni- 2026)

3000+ Common English Words with Pronunciation (Juni- 2026)
Anonim

Relationele databases zijn ontworpen met betrouwbaarheid en consistentie als kern. De technici die ze ontwikkelden, concentreerden zich op een transactiemodel dat ervoor zorgt dat de vier principes van het ACID-model altijd behouden blijven. De komst van een nieuw ongestructureerd databasemodel draait echter ACID op zijn kop. Het NoSQL-databasemodel vermijdt het sterk gestructureerde relationele model ten gunste van een flexibele sleutel / waardeopslagbenadering. Deze ongestructureerde benadering van gegevens vereist een alternatief voor het ACID-model: het BASE-model.

Basisprincipes van het ACID-model

Er zijn vier basisprincipes van het ACID-model:

  • De valentie van transacties zorgt ervoor dat elke databasetransactie een enkele eenheid is die een "alles of niets" benadering van uitvoering aanneemt. Als een instructie in de transactie mislukt, wordt de volledige transactie teruggedraaid.
  • Relationele databases zorgen ook voor de consistentie van elke transactie met de bedrijfsregels van de database. Als een element van een atomaire transactie de consistentie van de database zou verstoren, mislukt de gehele transactie.
  • De database-engine wordt afgedwongen isolatie tussen meerdere transacties die plaatsvinden op of in de buurt van dezelfde tijd. Elke transactie vindt plaats vóór of na elke andere transactie en de weergave van de database die een transactie aan het begin ziet, wordt alleen vóór de sluiting door de transactie zelf gewijzigd. Geen enkele transactie mag ooit het tussenproduct van een andere transactie zien.
  • Het laatste ACID-principe, duurzaamheid, zorgt ervoor dat wanneer een transactie eenmaal is toegewezen aan de database, deze permanent wordt bewaard door het gebruik van back-ups en transactielogboeken. In het geval van een storing, kunnen deze mechanismen worden gebruikt om vastgelegde transacties te herstellen.

    Kernprincipes van BASE

    NoSQL-databases omarmen daarentegen situaties waarin het ACID-model overkill of de werking van de database in feite zou belemmeren. In plaats daarvan vertrouwt NoSQL op een zachter model dat op de juiste manier bekend is als het BASE-model. Dit model biedt ruimte voor de flexibiliteit geboden door NoSQL en soortgelijke benaderingen voor het beheer en de curatie van ongestructureerde gegevens. BASE bestaat uit drie principes:

    • Basis beschikbaarheid. De NoSQL-databaseaanpak richt zich op de beschikbaarheid van gegevens, zelfs in het geval van meerdere fouten. Dit wordt bereikt door een sterk gedistribueerde benadering van databasemanagement te gebruiken. In plaats van een enkele grote gegevensopslag te onderhouden en zich te concentreren op de fouttolerantie van die winkel, verspreiden NoSQL-databases gegevens over veel opslagsystemen met een hoge mate van replicatie. In het onwaarschijnlijke geval dat een storing de toegang tot een gegevenssegment verstoort, leidt dit niet noodzakelijkerwijs tot een volledige uitval van de database.
    • Zachte staat. BASE-databases verlaten de consistentie-eisen van het ACID-model vrijwel volledig. Een van de basisbegrippen achter BASE is dat gegevensconsistentie het probleem van de ontwikkelaar is en niet door de database moet worden verwerkt.
    • Uiteindelijke consistentie. De enige vereiste die NoSQL-databases hebben met betrekking tot consistentie is om te eisen dat gegevens ooit in de toekomst convergeren naar een consistente status. Er worden echter geen garanties gegeven over wanneer dit zal gebeuren. Dat is een complete afwijking van de onmiddellijke consistentie-eis van ACID die een transactie verbiedt om te worden uitgevoerd totdat de eerdere transactie is voltooid en de database is geconvergeerd naar een consistente staat.

    Het BASE-model is niet geschikt voor elke situatie, maar het is zeker een flexibel alternatief voor het ACID-model voor databases die geen strikte naleving van een relationeel model vereisen.