Documente Academic
Documente Profesional
Documente Cultură
Burdusa Manuela-Maria
Master IE anul II
CUPRINS
Introducere......................................................................................................................................3
1. Baze de date NoSQL....................................................................................................................4
1.1. Concept NoSQL....................................................................................................................4
1.2. Clasificarea bazelor de date NoSQL....................................................................................5
2. MongoDB.....................................................................................................................................6
2.1. Concept MongoDB................................................................................................................6
2.2. Arhitectura MongoDB..........................................................................................................7
2.3. Diferente intre MongoDB si RDBMS...................................................................................8
2.4. Caracteristici MongoDB.......................................................................................................8
3. Hadoop......................................................................................................................................10
3.1. Concept...............................................................................................................................10
3.2 Integrare MongoDB si Hadoop...........................................................................................10
3.3 Arhitectura Hadoop.............................................................................................................12
3.4. Modul de functionare Hadoop............................................................................................12
3.5 Proprietățile unui sistem Hadoop........................................................................................13
4. MapReduce in Hadoop..............................................................................................................14
4.1. Concept...............................................................................................................................14
4.2. Algoritmul MapReduce......................................................................................................14
4.3. Terminologie MapReduce..................................................................................................15
Concluzie.......................................................................................................................................16
Bibliografie....................................................................................................................................17
Introducere
Lumea digitală crește foarte rapid și devine mai complexă în volum (de la terabyte la
petabyte) si viteză. Aceasta se referă la "Big Data" care reprezintă un fenomen global.
Aceasta este de obicei considerată a fi o colecție de date care a evoluat foarte mult, încât nu
poate fi gestionată eficient sau exploatata utilizând instrumentele convenționale de gestionare
a datelor: de exemplu, baza de date relațională clasică (RDBMS) sau motoarele de căutare
convenționale. Pentru a rezolva această problemă, tradiționale RDBMS sunt completate de un
set bogat de alternative, cum ar fi: sistemele NoSQL, NewSQL și Search-based. Această
evolutie a sistemelor oferă clasificarea, caracteristicile și evaluarea bazelor de date NoSQL
cu ajutorul Google Analytics. Acest raport este destinat să ajute utilizatorii, în special pentru
organizațiile să obțină o înțelegere independentă a punctelor forte și a punctelor slabe ale
diferitelor baze de date NoSQL, pentru a sprijinii aplicațiile care procesează volume imense
de date.
1. Baze de date NoSQL
1.1. Concept NoSQL
Modelul Cheie-Valoare
Este cel mai simplu model de baze de date non-relationale si are la baza stocarea datelor sub
forma unui hash-table. Datele pot fi accesate pe baza cheii de tip string si nu au un format
impus, pot avea orice tip. Datele sunt de tipul (cheie, valoare) si permit operatii de baza de
tipul Insert (cheie, valoare), Delete, Update, Fetch.
Modelul Document
Acest model a fost creat pentru gestionarea si stocarea documentelor codificate intr-un
schimb de date standard cum ar fi XML, JSON sau BSON (JSON binar). Spre deosebire de
modelul cheie-valoare, coloana ce contine valoarea din baza de date contine date semi-
structurate, in special atribute (key,value). O singura coloana poate gazdui sute de astfel de
atribute, iar numarul si tipul atributelor inregistrate pot varia de la rand la rand. Indexarile se
pot face atat dupa cheie, cat si dupa valoare. Compania care utilizeaza acest model este
Facebook. Acest model este utilizat pentru stocarea si gestionarea colectiilor Big Data:
CouchDB (JSON); MongoDB (BSON).
2. MongoDB
2.1. Concept MongoDB
MongoDB este o bază de date open source care utilizează un model de date orientat
spre documente și un limbaj de interogare nestructurat. Este unul dintre cele mai puternice
sisteme și baze de date NoSQL. Fiind un instrument NoSQL înseamnă că nu utilizează
rândurile și coloanele obișnuite pe care le asociem atât de mult managementului bazelor de
date relaționale.
Baza de date
Cu cuvinte simple, poate fi numită containerul fizic pentru date. Fiecare dintre bazele
de date are propriul set de fișiere în sistemul de fișiere cu mai multe baze de date existente pe
un singur server MongoDB.
Colectia
Documentul
Replicare: MongoDB utilizează aplicația nativă pentru a păstra mai multe copii ale
datelor. Împiedicarea perioadelor de nefuncționare a bazei de date este una din
caracteristicile setului de replici.
Servere multiple: baza de date poate rula pe mai multe servere. Datele sunt duplicate
pentru a proteja sistemul în caz de defecțiuni hardware
GridFS: Fără a complica stack-ul dvs., fișiere de orice dimensiuni pot fi stocate.
Funcția GridFS împarte fișierele în părți mai mici și le stochează ca un document
separat
Hadoop a fost un proiect open source lansat oficial în 2006. Hadoop a devenit o
platformă pentru procesarea cantităților masive de date în paralel între grupurile hardware de
mărfuri. A devenit sinonim cu Big Data, deoarece este cel mai popular instrument Big Data.
Big Data înseamnă noi oportunități pentru organizații de a aduce valoare in afaceri .
Baza de date MongoDB NoSQL poate sta la baza multor sisteme Big Data, nu numai ca un
magazin de date operaționale în timp real, ci și în capacități offline. Cu MongoDB,
organizațiile servesc mai multe date, mai mulți utilizatori, mai multă înțelegere cu mai multă
ușurință - și creând mai multă valoare pe plan mondial.
Datele pot fi integrate in timp real cu Hadoop prin intermediul unui conector care
expune puterea analitică a aplicației Hadoop. MapReduce se utilizeaza pentru a transmite
datele de aplicație de la MongoDB, determinând valoarea mai rapidă și mai eficientă pentru
Big Data.
Lucrările MapReduce pot transmite interogările ca filtre, evitând astfel nevoia de a scana
colecții întregi și pot profita și de avantajele bogate de indexare ale MongoDB, inclusiv de
indexarea geo-spațială, de căutare text, de matrice. Rezultatele Hadoop pot fi scrise și în
MongoDB, pentru a sprijini procesele operaționale în timp real.
În plus față de aceste module de bază, termenul "Hadoop" a evoluat astfel încât să includă
și alte zeci de instrumente și proiecte independente care pot fi instalate pe sau lângă Hadoop
pentru a simplifica accesul și prelucrarea datelor stocate în clusterul Hadoop:
Hadoop are la baza joburi, care sunt trimise la un Nod Master în clusterul Hadoop, la
un proces centralizat numit JobTracker. Un aspect notabil al designului Hadoop este faptul că
procesarea este mutată la date mai degrabă decât transferarea datelor către procesare. În
consecință, JobTracker compilează sarcini în sarcini paralele distribuite pe copii ale datelor
stocate în HDFS. JobTracker menține starea sarcinilor și coordonează rezultatul lucrării de la
noduri. Hadoop determină modul în care se distribuie cele mai bune lucrări între resursele din
cluster și modul de abordare a eventualelor defecțiuni ale componentelor sistemului în cazul
în care acestea apar.
HDFS oferă un model de acces pentru date numai pentru scriere, citire o singură dată,
HDFS este optimizat pentru citirea secvențială a fișierelor mari
HDFS menține copii multiple ale datelor pentru toleranța la erori.
HDFS este proiectat pentru o performanță ridicată, mai degrabă decât la o latență redusă.
4.1. Concept
Programul MapReduce se execută în trei etape, și anume stadiul hărții, treapta de amestecare
și scena redusă.
* Stadiul hărții - lucrarea hărții sau a cartografiei este de a procesa datele de intrare. În
general, datele de intrare sunt sub formă de fișiere sau directoare și sunt stocate în sistemul de
fișiere Hadoop (HDFS). Fișierul de intrare este transmis liniei funcției de mapare. Cartograful
procesează datele și creează câteva fragmente mici de date.
* Reducerea etapei - Funcția Reducer este de a procesa datele care provin de la cartograf.
După procesare, acesta produce un nou set de ieșire, care va fi stocat în HDFS.
În timpul unei sarcini MapReduce, Hadoop trimite sarcinile Map și Reduce la serverele
corespunzătoare din cluster. Cadrul gestionează toate detaliile de transmitere a datelor, cum
ar fi emiterea sarcinilor, verificarea finalizării sarcinilor și copierea datelor din jurul
clusterului între noduri. Majoritatea proceselor de calcul are loc pe noduri cu date pe discuri
locale care reduc traficul de rețea. După finalizarea sarcinilor date, grupul colectează și
reduce datele pentru a forma un rezultat adecvat și îl trimite înapoi la serverul Hadoop.
[1] Moniruzzaman, A B M & Hossain, Syed. (2013). NoSQL Database: New Era of
Databases for Big data Analytics - Classification, Characteristics and Comparison.