Mi respuesta se basa en el conocimiento y la experiencia de Hadoop MR y el aprendizaje de Mongo DB MR. vamos a ver cuáles son las principales diferencias y luego tratar de definir los criterios para la selección: Las diferencias son:
- MR de Hadoop puede ser escrito en Java, mientras que MongoDB es de en JavaScript.
- Hadoop's MR es capaz de utilizar todos los núcleos, mientras que MongoDB tiene un solo hilo.
- Hadoop MR no se combinará con los datos, mientras que los de Mongo DB se colocarán.
- Hadoop MR tiene millones de motor/hora y puede hacer frente a muchos casos de esquina con enorme tamaño de la producción, sesgos de datos, etc
- Existen marcos de nivel superior, como cerdo, Colmena, en cascada construida en la parte superior de la Hadoop Motor de MR.
- Hadoop MR es la corriente principal y hay una gran cantidad de asistencia de la comunidad disponible.
De lo anterior puedo sugerir los siguientes criterios de selección:
Seleccionar Mongo DB MR si necesita grupo simple y filtrado, no esperan pesada arrastrando los pies entre el mapa y reducir. En otras palabras, algo simple.
Seleccione hadoop MR si va a realizar trabajos de MR complicados y computacionalmente intensos (por ejemplo, algunos cálculos de regresiones). Tener mucho o un tamaño de datos impredecible entre el mapa y reducir también sugiere Hadoop MR.
Java es un lenguaje más potente con más bibliotecas, especialmente estadísticas. Eso debe tenerse en cuenta.
Grandes puntos, gracias. ¿Crees que mantener los datos en Mongo y NO usar HDFS va a ser de cualquier cuello de botella grande? Mi tamaño de datos es de alrededor de 10 TB y está altamente estructurado, y mis cálculos son simples y complejos.Mantener los datos en Mongo nos brinda muchos beneficios, pero no estoy seguro si no usar HDFS podría ser problemático en absoluto. – iCode
y una pregunta más, ¿es seguro decir que hadoop será más rápido incluso en un simple trabajo M/R? – iCode
Mi conocimiento de Mongo DB es limitado. Según mi leal saber y entender, este sistema está diseñado para el acceso aleatorio, construido alrededor de la indexación. Este es un sistema creado para servir en línea. Al mismo tiempo, HDFS está diseñado para el acceso secuencial, los análisis pesados y todas las compensaciones se realizan en esta dirección. Por lo tanto, no espero que MongoDB sea bueno en escaneos ... Con este tamaño de datos, son preguntas difíciles y creo que se necesita más información para decidir. Específicamente: está afectando el rendimiento de Mongo DB es fundamental. –