Presentación de Couchbase Server 4.1

Sobre la base de la histórica versión 4.0, que amplió enormemente el tipo de casos de uso de bases de datos de documentos que Couchbase puede soportar, Couchbase Server 4.1 aporta mejoras masivas a la funcionalidad de consulta y rendimiento, que beneficiarán tanto a los desarrolladores como a la empresa.

 

Es un testimonio de nuestro equipo de ingeniería que Couchbase Server 4.1 - que llega sólo tres meses después del lanzamiento de Couchbase Server 4.0, incluye más de 200 mejoras que se traducirán en una mayor escalabilidad y un mejor rendimiento de las consultas. Queríamos que la versión 4.1 mejorara rápidamente N1QLya que muchos de nuestros clientes ya están utilizando N1QL para crear nuevos casos de uso en Couchbase.

A continuación se exponen los aspectos más destacados de la versión 4.1.

 

N1QL: Soporte completo de SQL CRUD con N1QL para aplicaciones Batch y OLTP

Sentencias SQL comunes, como INSERTAR, ACTUALIZACIÓN, BORRAR, FUSIONAR y UPSERT están ahora totalmente soportados en Couchbase Server 4.1. Con este beneficio, ahora puedes manipular documentos JSON con N1QL, de la misma manera que manipularías tablas con SQL y soportar todos los requerimientos de consulta de aplicaciones Web, Móviles e IoT empresariales.

La sentencia INSERT de N1QL permite insertar tanto un único documento como varios. UPDATE y DELETE permiten manipular un conjunto de documentos basándose en criterios específicos. Ambas sentencias utilizan los índices disponibles para identificar y actualizar documentos de forma eficaz. Las sentencias UPSERT y MERGE fusionan dos conjuntos de documentos en función de unos criterios determinados. Todas estas sentencias SQL tradicionales se han adaptado para soportar documentos JSON.

Las sentencias SQL son totalmente compatibles con los SDK de Couchbase, las API REST y los controladores JDBC y ODBC de Simba.

 

Índices de cobertura

Por definición, un índice de cobertura es un índice que contiene como mínimo todos los campos requeridos por una consulta específica. Lo que esto significa para su aplicación, es que los índices de cobertura ayudarán a que una consulta se ejecute más rápido. Con un índice estándar, el flujo de ejecución de una consulta escaneará inicialmente el servicio de índices en busca de datos, pero luego tendrá que dedicar tiempo adicional a escanear el servicio de datos para completar la consulta. Al utilizar un índice de cobertura, sólo es necesario escanear ese índice de cobertura para acceder a los datos. El resultado es una menor latencia de la consulta y un rendimiento más rápido de la aplicación.

Las consultas N1QL utilizan los índices disponibles para ejecutar eficientemente la consulta. Dependiendo del caso de uso, hemos observado una mejora de entre 2 y 3 veces en la latencia y el rendimiento de las consultas. Esto se debe a que, cuando una consulta sólo necesita hacer referencia a los atributos clave del índice elegido, puede evitar obtener el documento completo para responder a la consulta. De este modo, la consulta consume menos recursos y se ejecuta más rápidamente. Además, el motor de consulta N1QL aprovecha la ordenación del índice para evitar la clasificación de los datos cuando las claves del índice coinciden con los atributos clave de la cláusula ORDER BY.

El optimizador N1QL reconoce automáticamente si sólo se puede utilizar un índice para responder a una consulta. El rendimiento obtenido mediante el uso de índices de cobertura es normalmente grande para las consultas que procesan un gran número de filas. Por ejemplo, en el caso de consultas que hacen agregación como la siguiente -

CREAR ÍNDICE idxestadopaís EN muestra de cerveza(estado, país) USANDO GSI

SELECCIONE país, máx(estado)

DESDE muestra de cerveza USE INDEX (idxestadopaís)

WHERE STATE LIKE 'C%'

GROUP BY país

 

En los casos en los que se utiliza ORDER BY para ordenar, los índices de cobertura también pueden ayudar, ya que el índice ya está ordenado y el motor de consulta puede utilizar directamente el índice de cobertura ordenado para obtener resultados.

 

Declaraciones preparadas

Una sentencia preparada permite ejecutar la misma consulta, o una similar, muchas veces con gran eficacia al evitar el análisis sintáctico y la preparación repetidos de la consulta. Muchas aplicaciones requieren la ejecución repetida de consultas predefinidas con parámetros diferentes. Realizar estas consultas repetidas como sentencias ad-hoc requiere analizar, planificar y ejecutar la consulta cada vez. El uso de una plantilla de sentencia preparada, en la que el plan de ejecución es fijo y sólo se sustituyen variables específicas cada vez que se ejecuta la consulta, elimina la sobrecarga necesaria para analizar y compilar un plan de ejecución para estas consultas repetidas a menudo. El resultado es una menor latencia y ciclos de CPU reducidos, y una aplicación con un rendimiento más rápido.

Ya hemos visto a varios clientes reemplazar consultas que anteriormente dependían de map-reduce y vistas con N1QL - así como construir nuevas aplicaciones que requieren consultas más complejas que las que Couchbase soportaba anteriormente.

 

Otras plataformas compatibles

Couchbase Server 4.1 está certificado para funcionar tanto en Windows 10 como en OSX El Capitan.

 

Empezar ahora

4.1 GA ha llegado, y aquí tienes algunos recursos para empezar -  

 

Me gustaría dar las gracias a nuestra impresionante comunidad por probar las versiones preliminares para desarrolladores, y por probar constantemente y proporcionar informacióny específicamente en N1QL. Esperamos que disfrutéis de la 4.1 y, como siempre, nos hagáis llegar vuestros comentarios.

¡Buena suerte construyendo tus aplicaciones con Couchbase 4.1!

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Don Pinto, Director Principal de Producto, Couchbase

Don Pinto es Gerente Principal de Producto en Couchbase y actualmente está enfocado en avanzar las capacidades de Couchbase Server. Es un apasionado de la tecnología de datos, y en el pasado ha escrito varios artículos sobre Couchbase Server, incluyendo blogs técnicos y libros blancos. Antes de unirse a Couchbase, Don pasó varios años en IBM, donde desempeñó el papel de desarrollador de software en el grupo de gestión de la información DB2 y, más recientemente, como director de programa en el equipo de SQL Server en Microsoft. Don tiene un máster en informática y una licenciatura en ingeniería informática por la Universidad de Toronto, Canadá.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.