MongoDB 3.0 es una versión importante con mejoras largamente esperadas. ¿La más notable? El motor de almacenamiento opcional WiredTiger. Después de todo, WiredTiger fue fundado por la gente detrás de Berkeley DB. MongoDB afirma que el rendimiento de escritura de WiredTiger es entre 7 y 10 veces más rápido que el motor de almacenamiento por defecto, MMAP. Puede que sí, puede que no. En cualquier caso, WiredTiger es mejor.
Entonces, ¿ha cerrado MongoDB la brecha de rendimiento con Couchbase Server?
Consultoría Avalon referencia MongoDB y Couchbase Server para averiguarlo.
Hipótesis de referencia
El escenario del benchmark requería una fuerte consistencia, MongoDB y Couchbase Server garantizan una fuerte consistencia por defecto, una carga de trabajo equilibrada de 50% lecturas y 50% actualizaciones para representar un amplio rango de casos de uso y reflejar tanto el rendimiento de lectura como de escritura, un conjunto de trabajo que no cupiera en memoria, y que los datos fueran replicados por durabilidad y disponibilidad. Por último, la latencia de lectura y escritura no puede superar los 5 ms.
Avalon Consulting desplegó ambas bases de datos con nueve nodos y nueve servidores - un nodo por servidor. Después de todo, desplegar 3 veces el número de nodos MongoDB requeriría 3 veces el número de suscripciones en un entorno de producción compatible.
- Gran coherencia
- 50% Lecturas, 50% Actualizaciones
- Latencia de lectura y escritura < 5ms
- 9 Servidores, 9 Nodos - 1 Servidor por Nodo
- Datos replicados (1 primario, 2 secundarios)
- Datos > Memoria *
- 300M Documentos
- 286 GB Primario (1x) + 572 GB Secundario (2x)
- 90 GB de memoria primaria residente (32%)
* El conjunto de trabajo era todo el conjunto de datos.
Metodología
Realice la prueba comparativa en Amazon Web Services con Yahoo! Cloud Serving Benchmark, un marco de pruebas de rendimiento de código abierto. Mida el rendimiento y la latencia del percentil 95 mientras aumenta el número de clientes simultáneos de 70 a 525 en incrementos de 35 hasta que la latencia supere los 5 ms.
Resultados
- La latencia de MongoDB superó los 5 ms con 245 clientes concurrentes a 72K.
- El rendimiento de Couchbase Server fue 2,x superior con 245 clientes concurrentes a 186K.
- La latencia de Couchbase Server fue inferior a 5ms con 525 clientes concurrentes a 298K.
- La latencia de Couchbase Server superó los 5ms con 805 clientes concurrentes a 336K.




Conclusión
El problema de MongoDB no era el motor de almacenamiento, aunque MMAP no le hizo ningún favor, era la fragmentación. Y sigue siéndolo. No existe un motor de almacenamiento capaz de superar las limitaciones de la fragmentación. La latencia de MongoDB es aceptable, pero no por mucho tiempo. WiredTiger ayudó con la latencia, pero el rendimiento seguía estando limitado por una base de datos no diseñada para la concurrencia. Asumiendo que MongoDB se escala linealmente, habría necesitado 3-5 veces el número de nodos para funcionar tan bien como Couchbase Server.
Encontrará todos los detalles en la completa informe.
Debatir sobre Noticias Hacker