Sunteți pe pagina 1din 6

Investete n oameni!

Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007 2013
Axa prioritar 1 Axa Prioritar 1 Educaia i formarea profesional n sprijinul creterii economice i dezvoltrii societii bazate
pe cunoatere
Domeniul major de intervenie 1.2 Calitate n nvmntul superior
Titlul proiectului: Dezvoltarea si modernizarea curriculei in domeniul Informaticii Economice (DEZIE)
Contract POSDRU /156/1.2/G/137499
Beneficiar: Asociatia "Clubul Informaticii Economice - Cyberknowledge Club"

Univeristatea de Vest Timioara


Facultatea de Economie i de Administrare a Afacerilor

Baze de date non-relaionale

Manea Mihaela-Roxana
Anul I SIA (Master)

2014

Investete n oameni!
Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007 2013
Axa prioritar 1 Axa Prioritar 1 Educaia i formarea profesional n sprijinul creterii economice i dezvoltrii societii bazate
pe cunoatere
Domeniul major de intervenie 1.2 Calitate n nvmntul superior
Titlul proiectului: Dezvoltarea si modernizarea curriculei in domeniul Informaticii Economice (DEZIE)
Contract POSDRU /156/1.2/G/137499
Beneficiar: Asociatia "Clubul Informaticii Economice - Cyberknowledge Club"

Baze de date non-relaionale


Dac n trecut pentru o mare perioad de timp bazele de date relaionale eseniale pentru aplicaiile web erau
MySQL, astzi aceste baze de date relaionale ntmpin multe dificulti n lucru cu cantiti mari de date.
Pe piaa n care activeaz MySQL au ptruns furnizorii de soluii de baze de date cloud. Aceste baze de date
cloud poart numele de NoSQL- Not only SQL i sunt baze de date non relaionale.
Carlo Strozzi a folosit prima dat termenul de NoSQL n 1998, reprezentnd numele bazei sale de date
relaionale open-source fr interfa SQL. Termenul a fost reintrodus n 2009 de ctre Eric Evans n cadrul
unui eveniment cu tema "Baze de date distribuite open-source". De aceast dat termenul nu a fost
folosit pentru a defini un ntreg sistem, ci a fost folosit pentru a marca un pas n evoluia de la baze de date
relaionale ctre baze de date cu performane sporite. Din acest moment s-au dezvoltat un numr vast de
baze de date non-relaionale.
Sistemele de baze de date NoSQL au fost dezvoltate pentru a gestiona volume mari de date care nu urmeaz
neaprat o schem fix, iar numele a fost o ncercare de a descrie apariia unui numr tot mai mare de BD
non-relaionale, distribuite ce stocheaz date care de multe ori nu ofer garanii ACID:
Atomicitate - fiecare tranzacie va fi "totul sau nimic", n sensul n care eecul unei pri a unei
tranzacii conduce la eecul ntreagii tranzacii, deci la modificarea bazei de date
Consistent - orice tranzacie va determina trecerea bazei de date dintr-o stare consistent, valid n
raport cu regulile definite (triggere, constrngeri, etc) ntr-o alt stare tot consistent Izolare execuia concuren a tranzaciilor va determina trecerea ntr-o stare care poate fi obinut i prin execuia
secvenial a tranzaciilor respective
Durabilitate - tranzaciile finalizate (pentru care s-a dat commit) vor rmne aa i n cazul apariiei
unor probleme hard sau soft), care n cazul RDBMS-urilor garanteaz procesarea n siguran a tranzaciilor.
Bazele de date NoSQL s-au dezvoltat alturi de companii de internet, cum ar fi Google, Amazon i
Facebook. n cazul acestor companii, care trateaz cantiti imense de date, soluiile tradiionale RDBMS
(Relaional Database Management Systems) nu au putut face fa.
NoSQL nu este o baz de date SQL , ci o unealt la nivel de shell. Datele NoSQL sunt stocate n fiiere
ASCII UNIX, astfel nct pot fi manipulate prin comenzile uzuale UNIX ( ls, wc, mv, cp, head ).

Investete n oameni!
Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007 2013
Axa prioritar 1 Axa Prioritar 1 Educaia i formarea profesional n sprijinul creterii economice i dezvoltrii societii bazate
pe cunoatere
Domeniul major de intervenie 1.2 Calitate n nvmntul superior
Titlul proiectului: Dezvoltarea si modernizarea curriculei in domeniul Informaticii Economice (DEZIE)
Contract POSDRU /156/1.2/G/137499
Beneficiar: Asociatia "Clubul Informaticii Economice - Cyberknowledge Club"

Principalele caracteristici ale sistemelor NoSQL sunt:

Nu folosesc SQL ca limbaj de interogare;


Nu ofere garanii ACID complete: De obicei,  numai coerena este garantat pentru
tranzaciile limitate la un singur element de date. Acest lucru nseamn c, dup o perioada suficient
de lung de timp n care nu au fost trimise modificrile, toate update-urile (actualizrile) se vor
propaga n cele din urm prin intermediul sistemului;
Arhitectur distribuit, toleran la defecte ( datele sunt pstrate ntr-un mod redundant, pe mai
multe servere. n acest fel, sistemul poate scala cu uurin prin adugarea de mai multe servere,
iar cderea unui server poate fi tolerat.

Acest tip de baz de date de obicei, scaleaz pe orizontal i este utilizat pentru a gestiona cantiti
mari de date, atunci cnd performanele n timp real sunt mult mai importante dect consistena (ca n cazul
indexrii unui numr mare de documente, a paginilor de pe site-urile web de mare trafic, sau a livrrii
stream-urilor media)
Sistemele NoSQL de baze de date sunt adesea extrem de optimizate pentru operaii de regsire/adugare i
ofer puine funcionaliti legate de memorarea nregistrrilor (memorarea nregistrrilor sub forma unor
perechi, cheie-valoare). Flexibilitatea run-time redus (fa de sistemele SQL) este compensat prin creteri
semnificative de performan i scalabilitate pentru modele de anumite date . Practic, sistemele de gestionare
a bazelor de date NoSQL i dovedesc utilitatea atunci cnd se lucreaz cu o cantitate mare de date, iar
natura datelor nu impune un model relaional pentru structura de date. Datele ar putea fi structurate (relaiile
dintre elemente sunt mai puin importante), ns ceea ce conteaz n cazul sistemelor NoSQL este
capacitatea de a stoca i de a prelua cantiti mari de date: se pot stoca milioane de perechi cheie-valoare n
una sau cteva tablouri asociative sau milioane de nregistrri de date. Acest lucru este deosebit de util
pentru analizele statistice sau n timp real pentru liste tot mai mari de elemente (cum ar fi mesaje pe Twitter
sau log-urile de pe serverele Internet pentru grupuri mari de utilizatori).
Unele sisteme NoSQL promoveaz interfee foarte simple (tablouri associative sau perechi cheie-valoare).
Altele, cum ar fi bazele de date native XML, ofer i posibiltatea de realizare a unor operaii de join, fie prin
XQuery, fie prin CloudTPS.
Odat cu stabilizarea tehnologiilor legate de Cloud Computing, bazele de date de tipul NoSQL devin tot mai
atractive, att datorit suportului nativ pentru scalabilitate i arhitecturi distribuite, ct i pentru faptul c
multe dintre acestea pot fi oferite ca i servicii, pe modelul pay-as-you-go.

Investete n oameni!
Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007 2013
Axa prioritar 1 Axa Prioritar 1 Educaia i formarea profesional n sprijinul creterii economice i dezvoltrii societii bazate
pe cunoatere
Domeniul major de intervenie 1.2 Calitate n nvmntul superior
Titlul proiectului: Dezvoltarea si modernizarea curriculei in domeniul Informaticii Economice (DEZIE)
Contract POSDRU /156/1.2/G/137499
Beneficiar: Asociatia "Clubul Informaticii Economice - Cyberknowledge Club"

n funcie de modul de nregistrare a datelor, sistemele NoSQL pot fi mprite n:

Perechi cheie-valoare (Apache-Cassandra, Dynamo, Hibari, OpenLink Virtuoso, Riak, Apache


River, Apache Hadoop, Tarantools, etc.);
Implementri BigTable (BigTable este un format de memorare proprietar (Google), compresat, de
nalt performan);
Baze de date orientate-document (BaseX, Clusterpoint, Apache CouchDB, eXist, OrientDB,
MavenDB, Simplestore, MongoDB);
Baze de date graf, n care relaiile sunt bine reprezentate sub forma unui graf (AllegroGraph, DEX,
Neo4j, OWLIM).n funcie de tipul problemei care se dorete a fi rezolvat, exist mai multe feluri
de baze de date NoSQL. Tabelul urmtor exemplific principalele tipuri, precum i cele mai
cunoscute implementri comerciale:

Tipuri de baze de date NoSQL


Tip
Cheie-Valoare

Document

Columnare

Graf

Implementri

Descriere

Amazon Dynamo,
Voldemort, Tokyo
Cabinet, Riak

Datele sunt stocate sub forma unui dicionar (hash),


suport operaii de tip: put, get, delete.

Extensie a sistemelor cheie-valoare, suport ierarhii i


CouchDB, MongoDB
imbricri de perechi cheie-valoare, organizate sub forma
unui document.
Datele respect o schem predefinit, dar au avantajul
BigTable, HBase, HyperTa
unor timpi foarte mici de cutare i agregare datorit
ble
modului n care sunt stocate pe suportul fizic.
Pentru reprezentarea datelor se folosesc elemente din
teoria grafurilor, ca noduri, relaii i proprieti. Foarte
OrientDB, Neo4j, InfoGrid
eficiente pentru reprezentarea problemelor ce pot fi
descrise prin grafuri.

Investete n oameni!
Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007 2013
Axa prioritar 1 Axa Prioritar 1 Educaia i formarea profesional n sprijinul creterii economice i dezvoltrii societii bazate
pe cunoatere
Domeniul major de intervenie 1.2 Calitate n nvmntul superior
Titlul proiectului: Dezvoltarea si modernizarea curriculei in domeniul Informaticii Economice (DEZIE)
Contract POSDRU /156/1.2/G/137499
Beneficiar: Asociatia "Clubul Informaticii Economice - Cyberknowledge Club"

Care sunt situaiile n care se recomand folosirea unei soluii NoSQL?

baza de date tradiional nu mai poate fi scalat la un pre acceptabil;


se genereaz foarte multe informaii temporare cum ar fi: couri de cumprturi, chestionare
incomplete, istorice de navigare, personalizri, etc;
baza de date a fost deja denormalizata pentru a mbunti performanele;
se stocheaz cantiti foarte mari de text i/sau imagini;
avei nevoie s rulai interogri de date care nu implic doar simple relaii ierarhice. de exemplu:
toi oamenii dintr-o reea social care nu au cumprat anul acesta o carte dar au legtur cu o
persoan care a cumprat;
tranzaciile nu trebuie s fie perfect consistente; de exemplu un buton de like, dac tranzacia
eueaz nu este nici o problem, utilizatorul cel mai probabil va mai apas o dat butonul.

Bineneles c nu este totul perfect i exist i dezavantaje:

nu exist un limbaj universal valabil. Bazele de date relaionale au SQL, care chiar dac au multe
extensii proprietare totui utilizatorii tiu la ce s se atepte;
maturitatea majoritatea sistemelor NoSQL nc sunt la primele variante sau nc n plin
dezvoltare;
suport fiind n general proiecte open source, iar firmele ce ofer suport sunt mici, de multe ori
startup-uri i poate nu ofer suficient credibilitate;
disponibilitatea dezvoltatorilor evident fiind o tehnologie nou, comparativ cu bazele de date
tradiionale sunt mult mai puini dezvoltatori software NoSQL.

Investete n oameni!
Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007 2013
Axa prioritar 1 Axa Prioritar 1 Educaia i formarea profesional n sprijinul creterii economice i dezvoltrii societii bazate
pe cunoatere
Domeniul major de intervenie 1.2 Calitate n nvmntul superior
Titlul proiectului: Dezvoltarea si modernizarea curriculei in domeniul Informaticii Economice (DEZIE)
Contract POSDRU /156/1.2/G/137499
Beneficiar: Asociatia "Clubul Informaticii Economice - Cyberknowledge Club"

Concluzii
NoSQL este un sistem de management al bazelor de date care nu ofer garanii ACID, ns este rapid,
portabil fr alte limite dect memoria i viteza procesorului ce ruleaz i interacioneaz cu SO UNIX.
Exist un numr mare de sisteme NoSQL disponibile astzi cum ar fi: Cassandra, Dynamo, CouchDB,
eXist, OrientDB, MavenDB, Simplestore, MongoDB,Neo4j, OWLIM.
NoSQL folosete paradigm operator flux (exist un numr de operatori, iar fiecare execut o funcie unic
asupra datelor ).
Bazele de date NoSQL reprezint o trecere ctre baze de date superioare ce vor integra flexibilitatea i
performanele lor actuale cu modelul relaional. Odat cu apariia bazelor de date NoSQL, dezvoltatorii au
oportunitatea de a beneficia de mai mult agilitate n modelul de date abordat. De asemenea aceste baze de
date constituie modelul optim pentru aplicaiile web. De aceea cunoaterea caracteristicilor lor este foarte
important, n special nainte de a migra la o astfel de soluie.

S-ar putea să vă placă și