NoSQL

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

NoSQL este o mișcare care promovează sisteme software în care persistența datelor se caracterizează, în general, prin faptul că nu se folosește modelul relațional , de obicei utilizat de bazele de date tradiționale ( RDBMS ). De fapt, expresia se referă la limbajul SQL , care este cel mai comun limbaj de interogare a datelor în bazele de date relaționale, luate aici ca simbol al întregii paradigme relaționale.

Aceste stocări de date de cele mai multe ori nu necesită un model fix (fără schemă), de multe ori evită operațiile de asociere ( asociere ) și urmăresc scalarea într-o manieră orizontală. Academicii și articolele se referă la aceste baze de date ca stocare structurată .

Etimologia termenului

Termenul NoSQL a fost folosit pentru prima dată în 1998 pentru o bază de date relațională open source care nu folosea o interfață SQL. Autorul Carlo Strozzi a declarat că „ca mișcare, NoSQL se îndepărtează radical de modelul relațional și, prin urmare, ar trebui să fie numit mai adecvat NoREL sau ceva similar” [1] .

Contrar a ceea ce s-ar putea crede, mișcarea NOSQL nu este împotriva utilizării bazelor de date relaționale. De fapt, termenul NOSQL înseamnă Nu numai SQL , ceea ce înseamnă că există mai multe cazuri de utilizare pentru care modelul relațional reprezintă o forțare, dar multe altele pentru care acest model este încă cea mai bună soluție.

Termenul a fost reutilizat în 2009 de către un angajat al Rackspace , Eric Evans, când Johan Oskarsson de la Last.fm a dorit să organizeze un eveniment pentru a discuta bazele de date distribuite open source [2] . Numele a fost o încercare de a eticheta numărul tot mai mare de baze de date nerelaționale și distribuite care adesea nu oferă caracteristicile clasice ACID : atomicitate, coerență, izolare, durabilitate. Motivul pentru care aceste caracteristici nu au fost furnizate este așa-numita teoremă CAP .

Implementări

Implementările demne de remarcat sunt Cloudant de la IBM , BigTable de la Google și Dynamo de la Amazon.com și variante open source precum acumularea Apache , HBase și Cassandra .

Clasificare

Implementările NoSQL pot fi clasificate după tipul de model de date adoptat. Mai jos este o descriere a celor mai populare categorii.

Baze de date orientate spre documente

Pictogramă lupă mgx2.svg Același subiect în detaliu: Document baze de date orientate .

O bază de date orientată spre documente este un program pentru aplicații orientate spre documente. Aceste sisteme ar putea fi implementate ca un strat deasupra unei baze de date relaționale sau obiecte.

Bazele de date orientate spre documente nu stochează date în tabele cu câmpuri uniforme pentru fiecare înregistrare ca în bazele de date relaționale, dar fiecare înregistrare este stocată ca un document care posedă anumite caracteristici. Orice număr de câmpuri cu orice lungime poate fi adăugat la document. Câmpurile pot conține, de asemenea, mai multe bucăți de date.

Câteva exemple de baze de date de acest tip sunt:

Baza de date grafice

Pictogramă lupă mgx2.svg Același subiect în detaliu: bază de date Graph .
Ilustrarea unei baze de date grafice

O bază de date cu grafice utilizează noduri și arce pentru a reprezenta și stoca informații. Reprezentarea datelor prin grafice oferă o alternativă la modelul relațional care folosește tabele, baza datelor orientate către documente (folosind documente) sau altele, cum ar fi sisteme pentru fișiere structurate (stocare structurată) bazate pe coloane sau coșuri neinterpretate de date.

Bazele de date grafice sunt adesea mai rapide decât bazele de date relaționale în legarea seturilor de date și mapează structurile aplicațiilor orientate obiect mai direct. Ei scară mai ușor la cantități mari de date și nu necesită tipic și costisitoare se alăture operațiunilor . Ele sunt mai puțin dependente de un model rigid de relație entitate și sunt mult mai adecvate pentru tratarea datelor schimbătoare cu modele evolutive. În schimb, bazele de date relaționale sunt de obicei mai rapide la efectuarea acelorași operațiuni pe o cantitate mare de date.

Câteva exemple de baze de date de acest tip sunt:

Cheie / valoare stocată pe disc

Cheie / valoare cache cache

În cele din urmă - valoare / cheie consecventă

Cheie-valoare pe care o păstrează prin implementarea Paxos

Sortat cheie-valoare

Baze de date cu mai multe valori

Baze de date orientate obiect

Pictogramă lupă mgx2.svg Același subiect în detaliu: baze de date orientate spre obiect .

Un model de bază de date orientat obiect este un model în care informațiile sunt reprezentate sub formă de obiecte ca în limbaje de programare orientate obiect .

Bazele de date orientate obiect sunt situate pe o nișă de piață în raport cu modelul relațional ( RDBMS ). Au fost luate în considerare încă din anii 1980 și 1990, dar au avut un impact comercial redus și au fost utilizate doar în domenii specifice.

Domeniile de aplicare sunt: ​​inginerie, baze de date spațiale , telecomunicații și domenii științifice precum fizica energiei înalte și biologia moleculară .

Bazele de date orientate pe obiecte dețin recordul pentru cea mai mare bază de date din lume (fiind prima care conține peste 1000 TB la Stanford Linear Accelerator Center ) și cea mai mare rată de preluare înregistrată vreodată pentru o bază de date comercială de peste 1 TB pentru un ' Acum.

Un alt grup de baze de date orientate obiect se concentrează pe utilizarea în sisteme în timp real .

Câteva exemple de baze de date de acest tip sunt:

Tabular

Depozitare în tupluri

Străin

Notă

Elemente conexe

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT