Qual è la differenza tra Hadoop e noSQL


15

Ho sentito parlare di molti strumenti / framework per aiutare le persone a elaborare i propri dati (ambiente big data).

Uno si chiama Hadoop e l'altro è il concetto noSQL. Qual è la differenza nel punto di elaborazione?

Sono complementari?


3
Votato per mancanza di sforzi di ricerca. Hadoop e noSQL sono ben definiti altrove.
Spacedman

@Spacedman Sono d'accordo, ma quello era un esempio di domanda dall'Area51 quindi se non è stato cancellato prima che immagino che sia valido, e, anche io sapevo la risposta quando inserisco la domanda (almeno genericamente).
рüффп,

Risposte:


16

Hadoop non è un database , hadoop è un intero ecosistema.

l'ecosistema hadoop

La maggior parte delle persone farà riferimento lavori di riduzione mappe mentre parla di hadoop. Un processo mapreduce suddivide grandi set di dati in alcuni piccoli blocchi di dati e li distribuisce su un cluster di nodi per procedere. Alla fine, il risultato di ciascun nodo verrà riunito nuovamente come un unico set di dati.


Supponiamo che carichi in hadoop un insieme <String, Integer>con la popolazione di alcuni quartieri all'interno di una città e desideri ottenere la popolazione media su tutti i quartieri di ogni città (figura 1).

Figura 1

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

Ora hadoop prima mapperà ogni valore usando i tasti (figura 2)

figura 2

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

Dopo la mappatura ridurrà i valori di ciascuna chiave a un nuovo valore (in questo esempio la media sul set di valori di ciascuna chiave) (figura 3)

figura 3

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

ora hadoop sarebbe fatto con tutto. Ora puoi caricare il risultato nell'HDFS (hadoop file system distribuito) o in qualsiasi DBMS o file.

Questo è solo un esempio molto semplice e semplice di ciò che può fare hadoop. Puoi eseguire attività molto più complicate in hadoop.

Come hai già detto nella tua domanda, hadoop e noSQL sono complementari. Conosco alcune configurazioni in cui, ad esempio, miliardi di set di dati provenienti da sensori vengono archiviati in HBase e quindi passati attraverso hadoop per essere infine archiviati in un DBMS.


5

NoSQL è un modo per archiviare dati che non richiedono una sorta di relazione. La semplicità del suo design e la capacità di scala orizzontale, un modo in cui archiviano i dati è il key : valuedesign della coppia. Questo si presta a un'elaborazione simile a quella di Hadoop. L'uso di un db NoSQL dipende in realtà dal tipo di problema che si sta cercando.

Ecco un buon link di Wikipedia NoSQL

Hadoop è un sistema pensato per archiviare ed elaborare enormi blocchi di dati. È un file system distribuito dfs. La ragione per cui lo fa è così centrale nella sua progettazione che fa presumere che i guasti hardware siano comuni, facendo così più copie dello stesso pezzo di informazione e diffondendolo su più macchine e rack, quindi se si scende, nessun problema, noi avere altre due copie. Ecco un ottimo link per Hadoop anche da Wikipedia, vedrai che è, a mio avviso, più che solo archiviazione, ma anche elaborazione: Hadoop

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.