Am auzit despre multe instrumente / cadre pentru a ajuta oamenii să își proceseze datele (mediul big data).
Unul se numește Hadoop, iar celălalt este conceptul noSQL. Care este diferența de punct de procesare?
Sunt complementare?
Comentarii
- A votat pentru lipsa efortului de cercetare. Hadoop și noSQL sunt bine definite în altă parte.
- @Spacedman Sunt de acord, dar acesta a fost un exemplu de întrebare din Area51 , atunci dacă a fost nu a fost șters înainte de a presupune că este valid și, chiar și eu știam răspunsul atunci când postez întrebarea (cel puțin generic).
Răspuns
Hadoop nu este o bază de date , hadoop este un întreg ecosistem.
Majoritatea oamenilor se vor referi la mapreduce joburi în timp ce vorbesc despre hadoop . O lucrare mapreduce împarte seturi mari de date în câteva bucăți mici de date și le răspândește pe un grup de noduri pentru a continua. La final, rezultatul din fiecare nod va fi reunit din nou ca un singur set de date.
Să presupunem că încărcați în hadoop un set de <String, Integer>
cu populația unor cartiere dintr-un oraș și doriți să obțineți populația medie pe toate cartierele din fiecare oraș (figura 1).
figura 1
[new york, 40394] [new york, 134] [la, 44] [la, 647] ...
Acum hadoop va mapa mai întâi fiecare valoare utilizând tastele (figura 2)
figura 2
[new york, [40394,134]] [la, [44,647]] ...
După mapare va reduce valorile fiecărei chei la o nouă valoare (în acest exemplu media peste setul de valori al fiecărei chei) (figura 3)
figura 3
[new york, [20264]] [la, [346]] ...
acum hadoop s-ar finaliza cu tot. Acum puteți încărca rezultatul în HDFS ( sistem de fișiere distribuite hadoop) sau în orice SGBD sau fișier.
Este doar un foarte simplu și simplu ex amplu din ceea ce poate face hadoop. Puteți rula sarcini mult mai complicate în hadoop.
După cum ați menționat deja în întrebarea dvs., hadoop și noSQL sunt complementare. Cunosc câteva setări în care, de exemplu, miliarde de seturi de date de la senzori sunt stocate în HBase și trec prin hadoop pentru a fi în cele din urmă stocate într-un SGBD.
Răspuns
NoSQL este o modalitate de a stoca date care nu necesită să existe un fel de relație. Simplitatea designului și capacitatea orizontală de scară, un mod în care stochează date este designul perechii key : value
. Acest lucru se pretează procesării similare cu Hadoop. Utilizarea unei baze de date NoSQL depinde într-adevăr de tipul de problemă pe care o urmărești.
Iată un link bun Wikipedia NoSQL
Hadoop este un sistem menit să stocheze și să proceseze bucăți uriașe de date. Este un sistem de fișiere distribuit dfs. Motivul pentru care face acest lucru este că esențial pentru proiectarea sa, presupune că defecțiunile hardware sunt frecvente, făcând astfel mai multe copii ale aceleiași informații și răspândindu-le pe mai multe mașini și rafturi, deci dacă unul coboară, nu există nicio problemă, noi mai aveți două exemplare. Iată un link excelent pentru Hadoop și din Wikipedia, veți vedea că este, în opinia mea, mai mult decât stocare, dar și procesare: Hadoop