sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Es Mongodb Aggregation framework más rápido que map/reduce?

Cada prueba que he realizado personalmente (incluido el uso de sus propios datos) muestra que el marco de agregación es un múltiplo más rápido que la reducción de mapa y, por lo general, es un orden de magnitud más rápido.

Solo tomando 1/10 de los datos que publicaste (pero en lugar de borrar el caché del sistema operativo, calentar el caché primero, porque quiero medir el rendimiento de la agregación, y no cuánto tiempo lleva paginar los datos) obtuve esto:

MapReduce:1058 ms
Marco de agregación:133 ms

Eliminando $match del marco de agregación y {query:} de mapReduce (porque ambos solo usarían un índice y eso no es lo que queremos medir) y agrupando todo el conjunto de datos por key2 obtuve:

MapReduce:18 803 ms
Marco de agregación:1535 ms

Están muy en línea con mis experimentos anteriores.