Ich habe von vielen Tools / Frameworks gehört, mit denen Menschen ihre Daten verarbeiten können (Big-Data-Umgebung).
Einer heißt Hadoop und der andere ist das noSQL-Konzept. Was ist der Unterschied in der Verarbeitung?
Ergänzen sie sich?
Kommentare
- Abgestimmt wegen mangelnder Forschungsanstrengungen. Hadoop und noSQL sind an anderer Stelle gut definiert.
- @Spacedman Ich stimme zu, aber das war ein Beispiel für eine Frage aus dem Area51 , wenn dies der Fall war nicht gelöscht, bevor ich denke, dass es gültig ist, und selbst ich wusste die Antwort, als ich die Frage postete (zumindest generisch).
Antwort
Hadoop ist keine Datenbank , hadoop ist ein gesamtes Ökosystem.
Die meisten Leute beziehen sich auf mapreduce -Jobs, während sie über Hadoop sprechen . Ein Mapreduce-Job teilt große Datenmengen in einige kleine Datenblöcke auf und verteilt sie auf eine Gruppe von Knoten, um fortzufahren. Am Ende wird das Ergebnis von jedem Knoten erneut als ein Datensatz zusammengestellt.
Nehmen wir an, Sie laden eine Menge von <String, Integer>
in hadoop mit der Bevölkerung einiger Stadtteile innerhalb einer Stadt und Sie möchten die Durchschnittsbevölkerung über die gesamten Stadtteile jeder Stadt ermitteln (Abbildung 1).
Abbildung 1
[new york, 40394] [new york, 134] [la, 44] [la, 647] ...
Jetzt ordnet hadoop zuerst jeden Wert mithilfe der Schlüssel zu (Abbildung 2).
Abbildung 2
[new york, [40394,134]] [la, [44,647]] ...
Nach der Zuordnung werden die Werte jedes Schlüssels auf einen neuen Wert reduziert (in diesem Beispiel der Durchschnitt über den Wertesatz jedes Schlüssels) (Abbildung 3)
Abbildung 3
[new york, [20264]] [la, [346]] ...
Jetzt wird Hadoop mit allem erledigt. Sie können das Ergebnis jetzt in das HDFS laden ( hadoop verteiltes Dateisystem) oder in ein beliebiges DBMS oder eine beliebige Datei.
Das ist nur ein sehr einfaches und einfach ex reichlich von dem, was hadoop kann. Sie können in hadoop viel kompliziertere Aufgaben ausführen.
Wie Sie bereits in Ihrer Frage erwähnt haben, ergänzen sich hadoop und noSQL. Ich kenne einige Setups, bei denen Milliarden von Datensätzen von Sensoren in HBase gespeichert werden und dann durch Hadoop gelangen, um schließlich in einem DBMS gespeichert zu werden.
Antwort
NoSQL ist eine Möglichkeit, Daten zu speichern, für die keine Beziehung erforderlich ist. Die Einfachheit des Designs und die horizontale Skalierbarkeit. Eine Möglichkeit, Daten zu speichern, ist das key : value
-Paardesign. Dies bietet sich für eine Verarbeitung an, die Hadoop ähnelt. Die Verwendung einer NoSQL-Datenbank hängt wirklich von der Art des Problems ab, nach dem man sucht.
Hier ist ein guter Wikipedia-Link NoSQL
Hadoop ist ein System, das große Datenmengen speichern und verarbeiten soll. Es ist ein verteiltes Dateisystem dfs. Der Grund dafür ist, dass es für sein Design von zentraler Bedeutung ist, dass Hardwarefehler häufig auftreten. Dadurch werden mehrere Kopien derselben Information erstellt und auf mehrere Maschinen und Racks verteilt. Wenn also eine ausfällt, ist dies kein Problem habe noch zwei Exemplare. Hier ist auch ein großartiger Link für Hadoop aus Wikipedia. Sie werden sehen, dass es meiner Meinung nach mehr als nur Speicherung, sondern auch Verarbeitung ist: Hadoop