Consulta SQL++ / N1QL

Mejoras de N1QL en 4.5.1 - Parte 2

Simplificar la transición desde RDBMS

La versión 4.5.1 de Couchbase Server aporta múltiples mejoras de funcionalidad, usabilidad y rendimiento en N1QL para responder a las necesidades de las aplicaciones empresariales. Estas mejoras abordan muchos de los problemas críticos de nuestros clientes y simplifican Transición desde RDBMS.

Pruebe Couchbase Server 4.5.1. Está listo para producción, probado por socios y clientes. Consulte las novedades para ver la lista completa de mejoras.

No te pierdas parte1 del blog.

Nueva configuración de la consulta bonito

¡¡Guapa!! ¡¡Guapa!! bonito¡¡!! Sí, bonito es un nuevo e impresionante ajuste de consulta en N1QL que puede activar o desactivar el formato bonito de los resultados de la consulta. Te preguntarás, ¿qué tiene de bueno? Y, ¿por qué alguien puede querer desactivar el hermoso formato bonito de la salida JSON.

Como dice el refrán, no hay comidas gratis. Dar un formato bonito a los resultados de una consulta conlleva sus propios gastos:

  1. En primer lugar, un hecho rápido es que los caracteres de espacio en blanco (tabulaciones, espacios, nuevas líneas) en un documento JSON con formato bonito consumen casi un tercio de su tamaño.
    • Así, basta con reducir el embellecimiento para ahorrar todos los bytes brutos que circulan por la red.
    • Además, hay que tener en cuenta el correspondiente ahorro en los recursos de memoria y procesamiento del servicio N1QL.
    • En conjunto, el ahorro es bastante significativo.
  2. El bonito formato de salida es bueno para escenarios legibles por humanos, con resultados humanos manejables.
    • Sin embargo, las aplicaciones del mundo real y los programas informáticos realizan consultas con mucha más frecuencia que los humanos y procesan resultados de consultas mucho mayores.
    • Para ellos, lo importante es rendimiento y eficaciano es un formato bonito. De hecho, dicho formato es una sobrecarga para el analizador JSON y la aplicación, y normalmente se descarta. Normalmente, las aplicaciones tienen su propia capa de presentación para formatear los datos adecuadamente para los respectivos usuarios.
    • Por ejemplo, considere un sitio web de reservas de viajes, donde usted está buscando vuelos. Estoy seguro de que ningún sitio de viajes vuelca los vuelos disponibles como un montón de documentos JSON.

El nuevo parámetro de consulta bonito en 4.5.1 permite activar/desactivar el formateo del resultado de una consulta. El parámetro puede ser:

  • ajustado a verdadero o falso.
  • Pasados al motor CBQ como parámetros de línea de comandos
  • Se pasa como parámetro de consulta en las llamadas REST.

Por defecto, se establece en verdadero. Cuando se ajusta a falsolos caracteres en blanco se eliminan de los resultados de la consulta. Las ventajas de rendimiento son significativamente visibles cuando las consultas producen resultados de gran tamaño y, por supuesto, dependen del porcentaje de espacio en blanco de los documentos. Por ejemplo, la siguiente consulta, que selecciona todos los documentos de la muestra de viajes, ejecuta casi 3 veces más rápido cuando bonito = false. Observe también el tamaño del conjunto de resultados, que es un tercio del resultado con formato bonito.

Con bonito = true

Con bonito = false

Tenga en cuenta que el total resultSize ahora es sólo 36754457bytes, y la consulta se ejecuta en 2,2seg.

Mejoras en la construcción dinámica de objetos en las consultas N1QL

N1QL ya soporta la creación de objetos JSON dinámicamente en las consultas. Esto ayuda inmensamente en la creación de objetos de resultados construidos específicamente en las listas de proyección de consultas. Couchbase server 4.5.1 amplía la potencia de las expresiones y enriquece la creación dinámica de objetos y el procesamiento de objetos en las consultas N1QL.

  1. En Couchbase Server 4.5.1, N1QL permite que tanto los nombres como los valores de los campos objeto sean expresiones arbitrarias. En versiones anteriores, se requiere que los nombres de los campos sean cadenas estáticas. Si un nombre no se evalúa a una cadena, el resultado de la construcción del objeto es NULL. Por ejemplo:
  2. Cuando se construyen objetos en una consulta N1QL, los nombres de los campos en pares nombre-valor se hacen opcionales en 4.5.1. Por ejemplo, la siguiente consulta asigna implícitamente los nombres "type" y "name" a los valores respectivos:

Nueva función de matriz ARRAY_INTERSECT()

La función ARRAY_INTERSECT() toma dos o más matrices como parámetros y devuelve como resultado la intersección de las matrices de entrada, es decir, la matriz que contiene los valores presentes en todas las matrices de entrada. Si no hay elementos comunes, devuelve una matriz vacía. Para más información, consulte la documentación. Por ejemplo, la siguiente consulta busca los hoteles que le gustan a Brian o Lilian, en el cubo de la muestra de viajes enviada con Servidor Couchbase 4.5.1.

Descargar Servidor Couchbase 4.5.1 y pruébalo. Hágame saber cualquier pregunta / comentario, o simplemente lo impresionante que es ;-)
¡Salud!

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

Autor

Publicado por Jennifer García

Jennifer Garcia es Gerente Senior de Web en Couchbase Inc. Como responsable del sitio web, Jennifer tiene la responsabilidad general de las propiedades del sitio web, incluido el diseño, la implementación, el contenido y el rendimiento.

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.