Skip to main content

BASE Model de dezvoltare de baze de date

Space of freedom; documentary on Sri Mooji in Rishikesh (Aprilie 2025)

Space of freedom; documentary on Sri Mooji in Rishikesh (Aprilie 2025)
Anonim

Bazele de date relaționale sunt proiectate cu fiabilitate și consecvență în centrul lor. Inginerii care le-au dezvoltat s-au concentrat pe un model tranzacțional care asigură că cele patru principii ale modelului ACID vor fi întotdeauna conservate. Cu toate acestea, apariția unui nou model de bază de date nestructurată transformă ACID pe cap. Modelul bazei de date NoSQL evită modelul relațional foarte bine structurat în favoarea unei abordări flexibile a magazinului cheie / valoare. Această abordare nestructurată a datelor necesită o alternativă la modelul ACID: modelul BASE.

Bazele fundamentale ale modelului ACID

Există patru principii de bază ale modelului ACID:

  • Atomicitate din tranzacții asigură că fiecare tranzacție de bază de date este o singură unitate care adoptă o abordare "totală sau totală" a execuției. Dacă orice declarație din tranzacție nu reușește, întreaga tranzacție este reintrodusă.
  • Bazele de date relaționale asigură de asemenea consistență din fiecare tranzacție cu regulile de afaceri ale bazei de date. Dacă orice element al unei tranzacții atomice ar perturba coerența bazei de date, întreaga tranzacție nu reușește.
  • Motorul de baze de date impune izolare între mai multe tranzacții care au loc la sau în același timp. Fiecare tranzacție are loc înainte sau după fiecare altă tranzacție, iar vizualizarea bazei de date pe care o tranzacție o vede la începutul acesteia este modificată numai de tranzacția în sine înainte de încheierea acesteia. Nici o tranzacție nu ar trebui să vadă produsul intermediar al unei alte tranzacții.
  • Principiul ACID final, durabilitate, se asigură că, odată ce o tranzacție este angajată în baza de date, ea este păstrată permanent prin utilizarea copiilor de rezervă și a jurnalelor de tranzacții. În caz de eșec, aceste mecanisme pot fi utilizate pentru a restabili tranzacțiile angajate.

    Principiile fundamentale ale BASE

    Bazele de date NoSQL, pe de altă parte, cuprind situațiile în care modelul ACID este depășit sau, de fapt, ar împiedica funcționarea bazei de date. În schimb, NoSQL se bazează pe un model mai moale cunoscut, în mod corespunzător, ca modelul BASE. Acest model găzduiește flexibilitatea oferită de NoSQL și abordări similare pentru gestionarea și tratarea datelor nestructurate. BASE constă din trei principii:

    • Disponibilitatea de bază. Abordarea bazei de date NoSQL se concentrează pe disponibilitatea datelor chiar și în prezența unor eșecuri multiple. Acest lucru se realizează prin utilizarea unei abordări extrem de distribuite a gestionării bazelor de date. În loc să mențină un singur magazin mare de date și să se concentreze asupra toleranței la erori a acelui magazin, bazele de date NoSQL răspândesc date în multe sisteme de stocare cu un grad ridicat de replicare. În cazul puțin probabil ca o eroare să perturbe accesul la un segment de date, acest lucru nu duce neapărat la o întrerupere completă a bazei de date.
    • Starea soft. Baze de date BASE abandonează cerințele de coerență ale modelului ACID destul de complet. Unul dintre conceptele de bază din spatele BASE este că coerența datelor este problema dezvoltatorului și nu ar trebui tratată de baza de date.
    • Eventuala consistență. Singura cerință pe care bazele de date NoSQL o are în ceea ce privește coerența este aceea de a solicita ca într-un anumit punct al viitorului, datele să se converge la o stare consecventă. Cu toate acestea, nu se fac garanții cu privire la momentul când acest lucru se va întâmpla. Aceasta este o îndepărtare completă de cerința de consecvență imediată a ACID care interzice executarea unei tranzacții până când tranzacția anterioară a fost finalizată și baza de date a convertit într-o stare consecventă.

    Modelul BASE nu este adecvat pentru fiecare situație, dar este cu siguranță o alternativă flexibilă la modelul ACID pentru bazele de date care nu necesită respectarea strictă a unui model relațional.