Altoros, una reconocida organización de consultoría de TI con una amplia trayectoria en la comparación de bases de datos, ha publicado su benchmark independiente más reciente, encargado por Couchbase. El benchmark evalúa las soluciones DBaaS ofrecidas por Couchbase, Redis, Amazon y MongoDB. Este estudio utiliza el estándar ampliamente aceptado YCSB para la evaluación comparativa de bases de datos NoSQL. Este blog presenta un breve resumen de su informe, que demuestra que Couchbase Capella supera a MongoDB Atlas, Redis Enterprise Cloud y Amazon DynamoDB en términos de características, rendimiento y coste total de propiedad (TCO) en diversas cargas de trabajo y tamaños de clúster.
YCSB (Yahoo! Cloud Serving Benchmark) es un marco estandarizado utilizado para evaluar el rendimiento de los sistemas de bases de datos basados en la nube. Consiste en una variedad de pruebas de carga de trabajo. Estas son las cargas de trabajo elegidas para este estudio:
-
- Carga de trabajo A50% de lectura y 50% de actualización: diseñado para simular un escenario de carga de trabajo de escritura pesada en el que el sistema de base de datos gestiona principalmente operaciones de lectura con actualizaciones ocasionales.
- Carga de trabajo C, 100% read: simula un escenario en el que el sistema de base de datos realiza principalmente operaciones de lectura, proporcionando información sobre el rendimiento y la escalabilidad del sistema específicamente para cargas de trabajo de lectura intensiva.
- Carga de trabajo de paginaciónemula un escenario de recuperación de datos paginados. En esta carga de trabajo, el sistema de base de datos se evalúa en función de su capacidad para recuperar eficazmente un subconjunto de datos de un conjunto de datos mayor, normalmente mediante una combinación de operaciones de lectura y búsqueda. Ayuda a evaluar el rendimiento del sistema en la gestión de operaciones de paginación y recuperación de datos que suelen encontrarse en aplicaciones que requieren la visualización de datos en trozos más pequeños, como una tabla de clasificación o la implementación de mecanismos de paginación para largas series de resultados ordenados.
- Carga de trabajo E95% de lectura, 5% de actualización: diseñado para evaluar el rendimiento y la escalabilidad de un sistema de base de datos con una carga de trabajo en la que la mayoría de las operaciones son de lectura, con una proporción menor de actualizaciones.
Puntos destacados
Para ver los resultados, consulta el informe detallado de Altoros. Tenga en cuenta que para este conjunto de pruebas se utilizó el nuevo motor de almacenamiento Magma. (Magma ofrece ventajas de eficiencia y requisitos de memoria reducidos para el almacenamiento de grandes volúmenes de datos, pero para la velocidad pura Tienda de sofás suele ser la mejor opción). He aquí algunos puntos destacados.
Rendimiento
Como en años anteriores, Couchbase funciona extraordinariamente bien en un caso de uso con muchas actualizaciones, especialmente a medida que aumenta la necesidad de gran escala. Por ejemplo, aquí están los resultados de la carga de trabajo A:
En estos gráficos, se puede ver que el rendimiento de Capella es el más alto de las 4 ofertas DBaaS. Gracias a la arquitectura memory-first y a la fragmentación automática de Capella, la latencia también es la más baja de los 4 competidores.
Funcionalidad
Merece la pena destacar la carga de trabajo C para un caso de uso de "caché puro". Capella y Redis Enterprise Cloud obtienen buenos resultados para esta carga de trabajo debido a sus diseños que priorizan la memoria, que pueden almacenar en caché los resultados para obtener una respuesta más rápida. MongoDB y DynamoDB necesitan leer datos del disco con más frecuencia y, por lo tanto, su rendimiento no es tan bueno. Hemos visto muchos diseños en los que MongoDB se complementa con un sistema similar a Redis para que actúe como caché, mientras que Couchbase tiene esta capacidad integrada.
Una vez más, alto rendimiento y baja latencia.
Sin embargo, aunque Redis funciona muy bien en el caso de una caché pura, tiene dificultades con otra carga de trabajo: la paginación.
Al igual que en años anteriores, DynamoDB se queda fuera de esta carga de trabajo, ya que no tiene ninguna capacidad de paginación en su lenguaje de consulta. Redis sí tiene capacidades de paginación, pero su rendimiento es muy deficiente. En una implantación típica de Redis, este tipo de procesamiento se encomendaría a una base de datos secundaria. Capella maneja muy bien esta carga de trabajo: alto rendimiento, baja latencia y una sintaxis tan sencilla como SQL de SELECT . . . LIMITAR . . . OFFSET.
Por otro lado, DynamoDB tiene un buen rendimiento en la carga de trabajo E. Sin embargo, hay algunos otros factores a tener en cuenta con la carga de trabajo E en Dynamo: consulte más detalles en el informe sobre cómo se aprovisionó DynamoDB, el dinero necesario y el comportamiento de DynamoDB con respecto al estrangulamiento y la ampliación".
Coste total de propiedad (TCO)
En el caso de una "caché pura", Redis se utiliza a menudo junto con otras bases de datos. Obtendrás un buen rendimiento de la caché, pero al precio de ejecutar dos bases de datos separadas. (Por ejemplo, Redis y Mongo, Redis y Oracle, etc.).
En cuanto a la rentabilidad, se incluyen gráficos que resumen el coste de cada implantación de bases de datos en "dólares por mil millones de operaciones". Por ejemplo, aquí está el gráfico de la carga de trabajo A (las barras más cortas significan menos costoso):
Cuando leas el informe completo en detalle, verás que Couchbase no siempre gana todos los partidos. Sin embargo, lo que sí gana es el panorama general: una combinación ideal de bajo coste, funcionalidad sofisticada y rendimiento (la "triple amenaza", como ha declarado nuestro cliente Broadjump).
Couchbase Capella funciona muy bien para la mayoría de combinaciones de carga de trabajo+cluster. Además, Capella es una base de datos multimodelo rápida y extremadamente versátil que incluye:
-
- Clave-valor - búsqueda directa a velocidades de memoria
- Almacenamiento en caché integrado - baja latencia, búsqueda rápida
- Documento JSON - datos flexibles
- SQL - consulta flexible
- Búsqueda de texto completo - búsquedas de texto, clasificación y geoespaciales (sin necesidad de una herramienta independiente como Solr)
- Series temporales - almacenados en TS_arrays en JSON con funciones de formato incorporadas
- Sincronización móvil - automático y fuera de línea con sincronización de cliente a cliente, ¡también!
- Separación automática - fácil para los desarrolladores y excelente para el crecimiento
- Replicación y reequilibrio automáticos - fácil para las operaciones
- Análisis con SQL - opciones de consulta complejas para BI
- Eventos - lógica de tratamiento a nivel de base de datos
- Captura de datos de cambios con Kafka integración para transmitir los registros de cambios de los documentos
Teniendo en cuenta todos estos factores, Couchbase Capella proporciona el mejor paquete total de alto rendimiento, funcionalidad sofisticada y menor coste total de propiedad.
Próximos pasos
-
- Asegúrese de leer el informe final de Altoros
- Pruebe gratis Couchbase Capella
- ¿Tiene preguntas? Consulta el Couchbase Discord