Introducción
Couchbase Server 4.5 acaba de ser lanzado. Encontrará una descripción completa aquí.
Exploremos los nuevos índices optimizados para memoria.
Para entender estos índices mejorados revisemos primero el Índice Secundario Global (GSI) que fue introducido como parte de Couchbase 4.0. Los GSI están construidos para soportar el lenguaje de consulta de Couchbase N1QL (pronunciado 'nickel'). Estas consultas son ideales para aplicaciones interactivas que requieren tiempos de respuesta rápidos. Antes de la introducción de GSI, la única consulta que ofrecía Couchbase era en forma de map/reduce Views, centradas principalmente en la elaboración de informes con un resultado precalculado, pero limitadas en rendimiento y escala. Con GSI, Couchbase no sólo puede escalar los servicios de datos linealmente, sino también las consultas.
Por ejemplo, podríamos crear un índice llamado líneas aéreas en la tabla viaje-muestra
cubo enviado con el producto:
1 2 |
CREAR ÍNDICE líneas aéreas EN `viaje-muestra`(tipo) DONDE tipo="aerolínea" USO DE GSI; |
Lo que nos permitiría consultar rápidamente todas las compañías aéreas.
1 2 |
SELECCIONE Indicativo, país DESDE `viaje-muestra` DONDE tipo = "aerolínea"; |
Novedades
Los índices secundarios globales optimizados en memoria son una configuración de almacenamiento adicional para los clústeres de Couchbase Server. Los índices secundarios globales optimizados para memoria (MOI) pueden seguir el ritmo de las mutaciones de datos y el mantenimiento de índices a velocidades en memoria. Aparte de las características de rendimiento, la mecánica de creación, colocación, equilibrio de carga, partición y disponibilidad es idéntica tanto en GSI como en MOI.
Mientras que el aprovechamiento de MOI proporciona mejoras de rendimiento, es imperativo controlar el uso de memoria. Los MOI están restringidos a residir en la caché gestionada del nodo Couchbase. Estos tipos de índices dejarán de procesar mutaciones de datos si el nodo agota su memoria disponible. Esto puede ajustarse dinámicamente sin tiempo de inactividad en función de las necesidades ajustando la cuota de RAM del índice. Esta es también un área en la que Multi-Dimensional Scale (MDS) proporciona la flexibilidad para ejecutar nodos con mayores huellas de memoria que otros nodos del clúster. Una vez más, estos cambios pueden realizarse mientras sus aplicaciones permanecen en línea y se sirve el tráfico.
En los despliegues de producción hay dos métricas importantes que proporcionarán la capacidad de controlar proactivamente los problemas. Están expuestas en la consola de administración de Couchbase, así como en nuestra API REST:
- MAX Index RAM Used %: Informa de la cuota máxima de ram utilizada en porcentaje (%)
- RAM de índice restante: Informa de la cuota de RAM de índice libre para el clúster.
Caso práctico
Couchbase proporciona la capacidad de indexar elementos de array en un documento JSON. A menudo, los documentos que contienen atributos de matriz crearán una mayor carga durante la mutación de datos. Los clientes que necesitan acceso interactivo y en tiempo real a los datos a menudo se ven obligados a mantener estructuras de datos complejas para cumplir con los SLA de la aplicación. El índice secundario global optimizado para memoria (MOI) está diseñado para afrontar los retos de las aplicaciones más exigentes.
- Reserva de viajes
- Tablas de clasificación
- Detección de fraudes
- Recomendaciones interactivas
MOI proporciona una latencia y un rendimiento mejorados bajo mutaciones de datos exigentes en comparación con los índices GSI estándar. Para ello, MOI proporciona:
- El procesamiento sin bloqueo para la indexación permite una concurrencia masiva al mantener las mutaciones entrantes.
- Estructura Skiplist de almacenamiento en memoria, a diferencia de B+Tree.
- Forzar el almacenamiento del índice en memoria, significa que MOI no funciona a velocidades de disco para almacenar el índice.
- Las instantáneas regulares persisten en el disco para la recuperación.
Resumen
El nuevo índice optimizado en memoria es una de las nuevas características de Couchbase 4.5. La principal ventaja es que mejora el rendimiento de las consultas y reduce el tiempo de mantenimiento de los índices.
Descargar Couchbase
Visite www.couchbase.com/download/ para obtener Couchbase 4.5 y utilizar Memory Optimized Indexes.