He estado leyendo en MongoDB. Estoy particularmente interesado en la capacidad de los marcos de agregación. Estoy buscando tomar múltiples conjuntos de datos que constan de al menos más de 10 millones de filas por mes y crear agregaciones de estos datos. Esto es datos de series de tiempo.MongoDB - Vista materializada/Agregación de estilo OLAP
Ejemplo. Al utilizar Oracle OLAP, puede cargar datos en el segundo/minuto y hacer que se acumulen en horas, días, semanas, meses, trimestres, años, etc. ... simplemente defina sus dimensiones e inicie desde allí. Esto funciona bastante bien
Hasta ahora he leído que MongoDB puede manejar lo anterior utilizando su funcionalidad de reducción de mapa. La funcionalidad de reducción de mapas se puede implementar para que actualice los resultados de forma incremental. Esto tiene sentido ya que estaría cargando datos nuevos, por ejemplo, semanalmente o mensualmente, y esperaría tener que procesar solo los datos nuevos que se están cargando.
También he leído que la reducción del mapa en MongoDB puede ser lenta. Para superar esto, la idea es usar un hardware básico barato y distribuir la carga entre múltiples máquinas.
Así que aquí están mis preguntas.
- ¿Qué tan bueno (o malo) hace MongoDB handle map reducir en términos de rendimiento? ¿Realmente necesita muchas máquinas para obtener un rendimiento aceptable?
- En términos de flujo de trabajo, ¿es relativamente fácil almacenar y combinar los resultados incrementales generados por la reducción de mapa?
- ¿Cuánta mejora de rendimiento ofrece el marco de agregación?
- El marco de agregación ofrece la capacidad de almacenar resultados de forma incremental de manera similar a la funcionalidad de asignación/reducción que ya existe.
¡Agradezco tus respuestas de antemano!
Actualización: A partir de Mongo 2,4 el valor por defecto del motor V8 javscript es ahora (http://docs.mongodb.org/manual/release-notes /2.4/#javascript-engine-changed-to-v8) – del