Student: Voicu Cosmin Ionut BigData si aparitia tehnologiei NoSQL
Datorita faptului ca pe internet zilnic se genereaza o cantitate imensa de
date (de ordinul sutelor de petabytes) sa simtit nevoia de a se investii in conceptul de Big Data, generand aparitia tehnologiei NoSQL. Sistemele RDBMS indifferent de topologia de replicare folosita devin coplesite. Apar probleme de scalabilitate, operatiunile de scriere se stranguleaza, join-urile devin si mai lente, apar intarzierei la sincronizare. Pentru a face fata volumelor marii de date sa adoptat utilizarea sistemelor distribuite. Teorema CAP
Consistency se refera la consistenta datelor, mai precis, ori cat de multi
clienti ar avea un sistem distribuit, la o operatiune de citire toti ar primi aceiasi versiue a datelor. Availability se refera la faptul ca toti clienti acestui sistem distribuit pot in orice moment sa scrie si sa citeasca datele. Partition tolerance sistemul functioneaza chiar si atunci cand noduri din sistemul distribuit nu sunt disponibile. Trasaturi de baza ale tehnologiei NoSQL Abilitatea de a scala orizontal pe mai multe servere Abilitatea de a replica şi distribui datele pe mai multe servere CLI (call level interface) caracterizat prin simplitate (în contrast cu SQL binding) Un model concurenţial mai slab decat modelul relaţional (ACID) Utilizarea eficientă a indexării distribuite şi a RAM pentru o stocare eficientă Abilitatea de a adăuga dinamic noi atribute la înregistrările existente Dezavantajele bazelor de date NoSQL
Lipsa suportului acesta poate fi disponibil numai pe proiecte medii si mari.
Sintaxa prin care putem sa interogam o baza de date NoSQL este diferita de un simplu query SQL. De foarte multe ori este nevoie sa avem notiuni de programare pentru a realiza un simplu query. Partea de administrare poate sa fie un cosmar, deoarece suportul pentru administratori locali este destul de mic la ora actuala. Totodata ACID si suportul pentru tranzactii nu este des intalnit la storage-ul de tip NoSQL. Query-urile pe care putem sa le scriem sunt destul de simple, iar uneori storage-urile nu permit sa facem 'JOIN' la colectii, din aceasta cauza putem sa ajungem sa scriem cod care sa faca acest lucru. Exemple de baze de date ce folosesc NoSQL • Cassandra • Mongodb • CouchDB • Redis • Riak • Membase • Neo4j • HBase MongoDB
MongoDB este o bază de date open-source NoSQL scrisă în C++.
Aceasta poate conţine mai multe baze de date, colecţii şi indecşi. Nu există operaţia de „alter table” pentru adăugare de coloane. MongoDB poate fi intalată pe sisteme de operare variate, incluzând Windows, Linux, Ubuntu, Debian şi OS X. Mongo include fişierul bin/mongo ce reprezintă un shell interactiv scris în JavaScript. SFARSIT Va multumesc pentru audienta.