MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mappa/Riduci Hadoop rispetto a Mappa/Riduci incorporati

La mia risposta si basa sulla conoscenza e sull'esperienza di Hadoop MR e sull'apprendimento di Mongo DB MR. Vediamo quali sono le principali differenze e poi proviamo a definire i criteri per la selezione:Le differenze sono:

  1. Il MR di Hadoop può essere scritto in Java, mentre quello di MongoDB è in JavaScript.
  2. MR di Hadoop è in grado di utilizzare tutti i core, mentre quello di MongoDB è a thread singolo.
  3. Hadoop MR non verrà collocato con i dati, mentre Mongo DB verrà collocato.
  4. Hadoop MR ha milioni di ore di motore e può far fronte a molti casi d'angolo con enormi dimensioni di output, distorsioni dei dati, ecc.
  5. Esistono framework di livello superiore come Pig, Hive, Cascading basati sul motore Hadoop MR.
  6. Hadoop MR è mainstream ed è disponibile molto supporto della community.

Da quanto sopra posso suggerire i seguenti criteri per la selezione:
Seleziona Mongo DB MR se hai bisogno di un semplice raggruppamento e filtraggio, non aspettarti pesanti mescolamenti tra mappa e riduzione. In altre parole - qualcosa di semplice.

Seleziona hadoop MR se intendi eseguire lavori MR complicati e computazionalmente intensi (ad esempio alcuni calcoli di regressione). Avere una dimensione dei dati molto o imprevedibile tra la mappa e la riduzione suggerisce anche Hadoop MR.

Java è un linguaggio più forte con più librerie, soprattutto statistiche. Questo dovrebbe essere preso in considerazione.