Desarrollar y utilizar las nuevas aplicaciones de la actualidad ha creado nuevas necesidades en la arquitectura de las bases de datos NoSQL, estas tienen que ser cada vez más ágiles, también requieren un desarrollo cada vez más enfocado a los datos en tiempo real, al igual que cada vez es más necesario que esta tecnología pueda procesar cómodamente impredecibles niveles de escala, velocidad y variabilidad de datos, agregando a todo esto la necesidad de las empresas y organizaciones de innovar rápidamente, operar a cualquier escala, además de cumplir la demanda principal que es la experiencia de usuario.
- MongoDB
- Couchbase
- Azure CosmoDB
Todas la bases de datos anteriores utilizan el patron de arquitectura de datos por documentos.
Las pruebas se hicieron mediante la interfaz de cada base de datos.
- MongoDB: MongoDB Compass.
- En Azure CosmosDB: Azure Cosmos DB Emulator
- Couchbase: Dashboard de Couchbase Community Server.
● Procesador: Ryzen 7 5800H ● Ram: 16GB DDR4 3200Mhz ● Almacenamiento: 512 GB SSD 3000 mb\s
![]() |
Metodologia Seguida en la investigacion
![]() |
Consultas utilizadas
Se optó por solamente utilizar consultas de lectura en las pruebas, Se repitió 3 veces la misma consulta y se tomó el promedio, se utilizaron 8 cantidades de resultados diferentes para las mediciones.
El flujo de trabajo que se utilizó para los conjuntos de datos Películas y Ruta Aviones fue el siguiente:
- 1,000 resultados
- 10,000 resultados
- 50,000 resultados
- 100,000 resultados
- 200,000 resultados
- 400,000 resultados
- 600,000 resultados
- 800,000 resultados
Mientras que para el conjunto de datos Denue se utilizaron solamente 6 cantidades diferentes de resultados para las mediciones:
- 1,000 resultados
- 10,000 resultados
- 50,000 resultados
- 100,000 resultados
- 200,000 resultados
- 300,000 resultados
La prueba se realizó de manera local, se utilizaron 2 métodos para hacer las pruebas de las bases de datos:
Test en caliente:
- Las consultas se realizaron de manera consecutiva.
Test en frío:
- Las consultas se realizaron apagando el ordenador cada vez que se realizaba una consulta.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Al usar bases de datos NoSQL que usan el mismo tipo de dato se elimina una variable que podría afectar a un análisis de los resultados. Entendiendo el hecho que un mejor rendimiento no significa que una base de datos es mejor o peor. Todas las bases de datos testeadas no tuvieron algún problema mayor en todos los procesos (instalación, configuración, subida de datos, consultas) solamente Couchbase tuvo algunas complicaciones menores que tuvieron impacto en el tiempo de desarrollo de esta investigación, sin embargo, una vez que se familiarizo con esta base de datos no se tuvo problema alguno.
La diferencia entre consultas de caliente y frio fueron significativas dependiendo la base de datos, CosmoDB fue el motor de base de datos que perdió más rendimiento comparándolo con su rendimiento en caliente, mientras que Couchbase fue el que menos rendimiento perdió. Couchbase necesito el uso de indexes personalizados para poder tener tiempos competitivos.
En ocasiones esporádicas una consulta con más registros fue más rápida que una con menos registros, en consultas en frio este comportamiento se da por la inestabilidad de este tipo de consulta, es el caso de CosmoDB y Couchbase, sin embargo, en consultas en caliente solo MongoDB mostro ese comportamiento, esto es debido a la dificultad de la consulta.
El resultado que se intentó conseguir era encontrar cual motor de base de datos NoSQL era el más rápido en cada una de las condiciones, MongoDB fue el motor de base de datos con mejor rendimiento, además de encontrar fortalezas y debilidades de estos motores de base de datos comparándolos entre sí, Couchbase tiene más potencial del mostrado en esta investigación, sin embargo es complicado encontrar esa optimización que se desea, CosmoDB Cuenta con el respaldo de Azure-Microsoft por lo que es una fuerte opción si se está familiarizado con alguna tecnología de Microsoft. MongoDB es muy versátil y una de las mejores opciones del mercado.