La mia risposta si basa sulla conoscenza e sull'esperienza di MR Hadoop e sull'apprendimento di Mongo DB MR. Vediamo quali sono le principali differenze e quindi provare a definire i criteri per la selezione: Le differenze sono:
- MR di Hadoop può essere scritto in Java, mentre MongoDB di è in JavaScript.
- Il MR di Hadoop è in grado di utilizzare tutti i core, mentre quello di MongoDB è a thread singolo.
- Hadoop MR non verrà posizionato con i dati, mentre quelli di Mongo verranno collocati.
- Hadoop MR ha milioni di motore/ore e può far fronte a molti casi d'angolo con enorme dimensione della produzione, disallineamenti di dati, ecc
- Ci sono quadri di livello superiore come il maiale, Hive, a cascata costruita in cima al Hadoop Motore MR.
- Hadoop MR è mainstream e un sacco di supporto della comunità è disponibile.
Da quanto sopra posso suggerire i seguenti criteri di selezione:
Selezionare Mongo DB MR se avete bisogno di gruppo semplice da e filtraggio, non aspettatevi pesante rimescolamento tra la mappa e ridurre. In altre parole: qualcosa di semplice.
Selezionare il numero di routine MR se si eseguono lavori MR complessi e computazionalmente intensi (ad esempio alcuni calcoli di regressioni). Avere una dimensione molto grande o imprevedibile dei dati tra mappa e riduzione suggerisce anche MR Hadoop.
Java è un linguaggio più potente con più librerie, soprattutto statistiche. Questo dovrebbe essere preso in considerazione.
fonte
2012-02-15 11:33:06
Grandi punti, grazie. Pensi che mantenere i dati in Mongo e NON usare HDFS sarà di grandi dimensioni? La mia dimensione dei dati è di circa 10 TB e altamente strutturata e i miei calcoli sono semplici e complessi.Mantenere i dati in Mongo ci offre molti vantaggi ma non sono sicuro che l'utilizzo di HDFS potrebbe essere problematico? – iCode
e un'altra domanda, è sicuro dire che Hadoop sarà più veloce anche su un semplice lavoro M/R? – iCode
La mia conoscenza di Mongo DB è limitata. Nella migliore delle ipotesi questo sistema è costruito per l'accesso casuale, costruito attorno all'indicizzazione. Questo è un sistema creato per servire online. Nello stesso tempo HDFS è costruito per l'accesso sequenziale, scansioni pesanti e tutti i trade-off sono fatti in questa direzione. Di conseguenza non mi aspetto che MongoDB sia bravo nelle scansioni ... Con questa dimensione di dati, sono domande difficili e penso che siano necessarie maggiori informazioni per decidere. Specificamente - sta influenzando le prestazioni di Mongo DB è fondamentale. –