BASE Model de dezvoltare a bazelor de date

Cuprins:

BASE Model de dezvoltare a bazelor de date
BASE Model de dezvoltare a bazelor de date
Anonim

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

Image
Image

Principii de bază ale modelului ACID

Există patru principii de bază ale modelului ACID:

  • atomicitatea de tranzacții asigură că fiecare tranzacție din baza de date este o singură unitate care adoptă o abordare „totul sau nimic” pentru execuție. Dacă vreo declarație din tranzacție eșuează, întreaga tranzacție este anulată.
  • Bazele de date relaționale asigură, de asemenea, consistența a fiecărei tranzacții cu regulile de afaceri ale bazei de date. Dacă orice element al unei tranzacții atomice ar perturba consistența bazei de date, întreaga tranzacție eșuează.
  • Motorul de baze de date impune izolare între mai multe tranzacții care au loc în același timp sau aproape. Fiecare tranzacție are loc fie înainte, fie după fiecare altă tranzacție, iar vizualizarea bazei de date pe care o vede o tranzacție la început este modificată doar de tranzacția însăși înainte de încheierea acesteia. Nicio tranzacție nu ar trebui să vadă vreodată produsul intermediar al unei alte tranzacții.
  • Principiul final ACID, durability, asigură că, odată ce o tranzacție este angajată în baza de date, aceasta este păstrată permanent prin utilizarea unor copii de siguranță și a jurnalelor de tranzacții. În cazul unui eșec, aceste mecanisme pot fi utilizate pentru a restabili tranzacțiile angajate.

Principii de bază ale BASE

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

  • Disponibilitate de bază Abordarea bazei de date NoSQL se concentrează pe disponibilitatea datelor chiar și în prezența mai multor erori. Acesta realizează acest lucru prin utilizarea unei abordări foarte distribuite a gestionării bazelor de date. În loc să mențină un singur depozit de date mare și să se concentreze pe toleranța la erori a acelui magazin, bazele de date NoSQL răspândesc date prin multe sisteme de stocare cu un grad ridicat de replicare. În cazul puțin probabil în care o defecțiune întrerupe accesul la un segment de date, acest lucru nu duce neapărat la o întrerupere completă a bazei de date.
  • Stare moale. Bazele de date BASE abandonează aproape complet cerințele de consistență ale modelului ACID. Unul dintre conceptele de bază din spatele BASE este că consistența datelor este problema dezvoltatorului și nu ar trebui să fie tratată de baza de date.
  • Consistență eventuală Singura cerință pe care o au bazele de date NoSQL în ceea ce privește consecvența este aceea de a cere ca, la un moment dat în viitor, datele să convergă la o stare consecventă. Cu toate acestea, nu se oferă garanții cu privire la momentul în care se va întâmpla acest lucru. Aceasta este o abatere totală de la cerința de consecvență imediată a ACID, care interzice executarea unei tranzacții până când tranzacția anterioară este finalizată și baza de date a convergit la o stare consecventă.

În BASE, disponibilitatea de bază poate însemna că nici măcar nu controlați sursele de date. De exemplu, vă puteți conecta la seturi de date publice pentru o parte a efortului dvs.

Cazuri de utilizare relative

Modelul BASE nu este potrivit 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.

Cazurile de utilizare optime pentru bazele de date care folosesc ACID depind de date foarte structurate, cu intrări și ieșiri previzibile. Astfel, bazele de date de resurse umane, bazele de date de vânzare cu amănuntul și fișele medicale electronice beneficiază de verificarea robustă a coerenței interne pe care o oferă ACID.

Totuși, soluțiile BASE sunt mai bune pentru subiecte neclare, cum ar fi analiza sentimentelor. De exemplu, un proiect structurat pe BASE ar putea scana un feed Twitter căutând cuvinte care implică emoție pe baza unui hashtag specific. Fluxul Twitter nu este bine structurat sau instanțiat local, dar fluxul de date oferă informațiile care sunt programate în interogări, chiar dacă domeniul și natura acelor date nu sunt clar limitate.

Recomandat: