De ce tehnologia NoSQL pentru baze de date


NoSQL este o abordare a proiectării bazei de date care poate găzdui o mare varietate de modele de date, inclusiv formele de valoare cheie, document, coloane și grafic. NoSQL, care înseamnă „nu numai SQL ”, este o alternativă la bazele de date relaționale tradiționale în care datele sunt plasate în tabele și schema de date este atent proiectată înainte de crearea bazei de date. Bazele de date NoSQL sunt utile în special pentru lucrul cu seturi mari de date distribuite.

NoSQL vs. RDBMS

Termenul NoSQL poate fi aplicat unor baze de date care au precedat sistemul de gestionare a bazelor de date relaționale , dar se referă mai frecvent la bazele de date construite la începutul anilor 2000, în scopul aglomerării bazelor de date pe scară largă în aplicații cloud și web. În aceste aplicații, cerințele pentru performanță și scalabilitate au depășit necesitatea coerenței de date imediate și rigide pe care RDBMS le-a oferit aplicațiilor tranzacționale de întreprindere.

În special, sistemele NoSQL nu au fost necesare pentru a urma o schemă relațională consacrată. Organizațiile web la scară largă, cum ar fi Facebok, Google și Amazon, au folosit baze de date NoSQL pentru a se concentra pe obiective operaționale.

Bazele de date NoSQL timpurii pentru aplicații web și cloud tind să se concentreze pe caracteristici foarte specifice ale gestionării datelor. Capacitatea de a prelucra volume foarte mari de date și de a distribui rapid aceste date prin clustere de calcul au fost trăsături dezirabile în designul web și cloud. Dezvoltatorii care au implementat sisteme cloud și web au căutat, de asemenea, să creeze o schemă de date flexibilă pentru a permite mai bine modificări rapide la aplicațiile care au fost actualizate continuu.

Există patru clasificări principale pentru arhitecturi NoSQL.

  • Magazinele cu valoare-cheie

Magazinele cu valori-cheie sau bazele de date cu valoare-cheie implementează un model de date simplu care împerechează o cheie unică cu o valoare asociată. Deoarece acest model este simplu, poate duce la dezvoltarea bazelor de date cu valoare cheie, care sunt extrem de performante și extrem de scalabile pentru gestionarea sesiunilor și caching în aplicațiile web. Implementările diferă în modul în care sunt orientate să lucreze cu RAM, unități de stare solidă sau unități de disc. Exemple includ Aerospike, Berkeley DB, MemchacheDB, Redis și Riak.

  • Baze de date de documente

Bazele de date de documente, numite și depozite de documente, stochează date semi-structurate și descrieri ale acestor date în format document. Acestea permit dezvoltatorilor să creeze și să actualizeze programe fără a fi nevoie să se refere la schema principală. Utilizarea bazelor de date de documente a crescut odată cu utilizarea JavaScript și JavaScript Object Notation(JSON) , un format de schimb de date care a câștigat monedă largă între dezvoltatorii de aplicații web, deși XML și alte formate de date pot fi utilizate de asemenea. Bazele de date de documente sunt utilizate pentru gestionarea conținutului și pentru gestionarea datelor de aplicații mobile. Couchbase Server, CouchDB, DocumentDB, MarkLogic și MongoDB sunt exemple de baze de date de documente.

  • Magazine cu coloane largi

Magazinele cu coloane largi organizează tabele de date sub formă de coloane, în loc de rânduri. Magazinele cu coloane largi pot fi găsite atât în ​​bazele de date SQL cât și în NoSQL. Magazinele cu coloane largi pot interoga volume mari de date mai rapid decât bazele de date relaționale convenționale. Un depozit de date cu coloană largă poate fi utilizat pentru motoarele de recomandare, cataloage, detectarea fraudei și alte tipuri de prelucrare a datelor. Google BigTable , Cassandra și HBase sunt exemple de magazine cu coloană largă.

  • Magazinele de grafice

Magazinele de date grafice organizează date sub formă de noduri, care sunt precum înregistrările dintr-o bază de date relațională și marginile, care reprezintă conexiuni între noduri. Deoarece sistemul grafic stochează relația dintre noduri, poate susține reprezentări mai bogate ale relațiilor de date. De asemenea, spre deosebire de modelele relaționale bazate pe scheme stricte, modelul de date grafice poate evolua în timp și în utilizare. Bazele de date grafice sunt aplicate în sisteme care trebuie să coreleze relațiile, cum ar fi sistemele de rezervare sau gestionarea relațiilor cu clienții. Exemple de baze de date grafice includ ArangoDB, IBM Graph si Neo4j.

Evoluția NoSQL

Berkeley DB a fost un sistem influent în evoluția timpurie a bazei de date NoSQL. Dezvoltat la Universitatea din California, Berkeley, începând cu anii 90, Berkeley DB a fost descris pe scară largă ca o bază de date încorporată care a susținut îndeaproape nevoile de stocare ale aplicațiilor specifice. Acest software open source a furnizat un simplu depozit de valori cheie. Berkeley DB a fost lansat comercial de Sleepycat Software în 1999. Compania a fost achiziționată ulterior de Oracle în 2006. Oracle a continuat să sprijine Berkeley DB open source.

 

Alte baze de date NoSQL care au căpătat importanță includ baze de date NoSQL găzduite de cloud, cum ar fi Amazon DynamoDB , Google BigTable, precum și Apache Cassandra și MongoDB.

Clasificările de bază NoSQL de bază sunt numai ghiduri. De-a lungul timpului, furnizorii au combinat și potrivite elemente din arbori genealogici de baze de date NoSQL pentru a realiza sisteme mai generale. Această evoluție este văzută, de exemplu, în MarkLogic, care a adăugat un depozit de grafice și alte elemente la bazele de date ale documentelor sale originale. Serviciul Couchbase acceptă atât abordarea valorilor cheie, cât și a documentelor. Cassandra a combinat elemente de valoare cheie cu un magazin cu coloane largi și o bază de date de grafice. Uneori, elementele NoSQL sunt amestecate cu elemente SQL, creând o varietate de baze de date care sunt denumite baze de date multimodel.




Updated on:  June 5, 2018