Was ist der Unterschied zwischen Hadoop und noSQL?

15

Ich habe von vielen Tools / Frameworks gehört, die Menschen bei der Verarbeitung ihrer Daten unterstützen (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?

рüффп
quelle
3
Abgestimmt wegen fehlenden Forschungsaufwands. Hadoop und noSQL sind an anderer Stelle gut definiert.
Spacedman
@Spacedman Ich stimme zu, aber das war ein Beispiel für eine Frage aus dem Bereich51, wenn sie nicht gelöscht wurde, bevor sie gültig ist, und selbst ich wusste die Antwort, als ich die Frage postete (zumindest allgemein).
рüффп

Antworten:

16

Hadoop ist keine Datenbank , hadoop ist ein ganzes Ökosystem.

das Hadoop-Ökosystem

Die meisten Leute werden sich auf Mapreduce- Jobs beziehen, wenn sie über Hadoop sprechen. Bei einem Mapreduce-Job werden große Datasets in einige kleine Datenblöcke aufgeteilt und auf einen Cluster von Knoten verteilt, um fortzufahren. Am Ende wird das Ergebnis jedes Knotens wieder zu einem Datensatz zusammengefasst.


Angenommen, Sie laden eine Menge <String, Integer>mit der Bevölkerung einiger Stadtteile in hadoop und 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 jeden Wert zuerst mit den Tasten zu (Abbildung 2).

Figur 2

[new york, [40394,134]]
[la, [44,647]]
...

Nach der Zuordnung werden die Werte der einzelnen Schlüssel auf einen neuen Wert reduziert (in diesem Beispiel der Durchschnitt über den Wertesatz der einzelnen Schlüssel) (Abbildung 3).

Figur 3

[new york, [20264]]
[la, [346]]
...

Jetzt wäre alles erledigt. Sie können das Ergebnis jetzt in das HDFS (Hadoop Distributed File System) oder in ein beliebiges DBMS oder eine beliebige Datei laden.

Das ist nur ein sehr einfaches und einfaches Beispiel dafür , was hadoop tun 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 ein paar Setups, bei denen zB Milliarden von Datensätzen von Sensoren in HBase gespeichert werden und dann über Hadoop endgültig in einem DBMS gespeichert werden.

Johnny000
quelle
5

NoSQL ist eine Möglichkeit, Daten zu speichern, für die keine Beziehung bestehen muss. Die Einfachheit des Designs und die Fähigkeit zur horizontalen Skalierung, eine Art, wie Daten gespeichert werden, ist das key : valuePaardesign. 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 zu NoSQL

Hadoop ist ein System, das riesige Datenmengen speichern und verarbeiten soll. Es ist ein verteiltes Dateisystem dfs. Der Grund dafür ist, dass bei der Entwicklung von zentraler Bedeutung angenommen wird, dass Hardwarefehler häufig vorkommen. Dadurch werden mehrere Kopien derselben Information erstellt und auf mehrere Maschinen und Racks verteilt Habe noch zwei Kopien. Hier ist auch ein toller Link für Hadoop aus Wikipedia, Sie werden sehen, dass es meiner Meinung nach mehr als nur Speicher, sondern auch Verarbeitung ist: Hadoop

MCP_infiltrator
quelle