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

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

Sono complementari?

Commenti

  • Votato per mancanza di impegno nella ricerca. Hadoop e noSQL sono ben definiti altrove.
  • @Spacedman Sono daccordo, ma quello era un esempio di domanda da Area51 , allora se fosse non cancellato prima immagino che sia valido e, anche io conoscevo la risposta quando ho posto la domanda (almeno genericamente).

Risposta

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

lecosistema hadoop

La maggior parte delle persone farà riferimento a lavori di mapreduce mentre parla di hadoop . Un lavoro di mapreduce divide grandi set di dati in piccoli blocchi di dati e li distribuisce su un cluster di nodi per procedere. Alla fine il risultato di ogni nodo verrà ricomposto come un unico set di dati.


Supponiamo di caricare in hadoop un insieme di <String, Integer> con la popolazione di alcuni quartieri allinterno di una città e si desidera ottenere la popolazione media di tutti i quartieri di ciascuna città (figura 1).

figura 1

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

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

figura 2

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

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

figura 3

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

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

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

Come hai già menzionato nella tua domanda, hadoop e noSQL sono complementari. Conosco alcune configurazioni in cui, ad esempio, miliardi di set di dati dai sensori vengono archiviati in HBase e vengono quindi archiviati tramite hadoop per essere infine memorizzati in un DBMS.

Risposta

NoSQL è un modo per memorizzare dati che non richiedono che ci sia una sorta di relazione. La semplicità del suo design e la scalabilità orizzontale, un modo in cui memorizzano i dati è il design della coppia key : value. Questo si presta a unelaborazione simile a Hadoop. Luso di un database NoSQL dipende in realtà dal tipo di problema che si sta cercando.

Ecco un buon link di wikipedia NoSQL

Hadoop è un sistema che ha lo scopo di memorizzare ed elaborare enormi blocchi di dati. È un file system distribuito dfs. Il motivo per cui lo fa è che al centro del suo design presuppone che i guasti hardware siano comuni, quindi effettuando più copie della stessa informazione e diffondendola su più macchine e rack, quindi se uno va inattivo, nessun problema, noi avere altre due copie. Ecco un ottimo link per Hadoop anche da wikipedia, vedrai che, a mio parere, è più che solo archiviazione, ma anche elaborazione: Hadoop

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *