Consulta SQL++ / N1QL

Estructuras de datos y consultas con Couchbase N1QL (SQL para JSON)

En el Estructuras de datos para aplicaciones NoSQL puesto, utilizamos el acceso simplificado a datos JSON a través de colecciones nativas, mapas y mucho más. Este artículo muestra cómo consultar esos datos utilizando consultas N1QL de alto nivel, el lenguaje basado en SQL para JSON.

chart of couchbase data structures and examples

Resumen de tipos de estructuras de datos Couchbase y ejemplos JSON.

Los desarrolladores pueden centrarse en la gestión de estructuras y tipos de datos básicos utilizando lenguajes de programación. Mientras tanto, los DBA y los analistas pueden acceder a los mismos datos utilizando un lenguaje de consulta. Couchbase lo hace utilizando métodos de indexación de datos NoSQL y servicios de consulta N1QL.

Las consultas de búsqueda con el motor de búsqueda de texto completo de Couchbase también son posibles y se cubrirán en un futuro post.

¿Qué es la indexación de bases de datos NoSQL? 

La indexación examina los datos y determina cómo volver a encontrar esos elementos. La indexación puede aplicarse a documentos JSON, claves/campos o valores en campos. Las claves de los documentos JSON actúan como los nombres de columna en los sistemas de indexación de bases de datos tabulares.

La base de datos gestiona estas colecciones de elementos y valores como índices que remiten a la fuente. El backend de la base de datos actualiza la indexación a medida que cambian los documentos mientras se almacenan los datos. Mientras tanto, los administradores de bases de datos pueden optimizar la indexación para casos de uso específicos, como escrituras o consultas de gran volumen.

Mediante el uso de índices, las consultas N1QL pueden encontrar rápidamente valores de campo que coincidan sin necesidad de escanear los datos originales. Este método también se aplica a las estructuras de datos comunes, colecciones y ámbitos introducidos en Couchbase 7.0.

Consulta de estructuras de datos Couchbase con N1QL

La consola web de Couchbase es una manera fácil de ver documentos de estructura de datos en la base de datos. Observa cómo los documentos de estructura de datos son a menudo mucho más simples que los documentos JSON más complejos.

data structure documents listed in the bucket preview screen

Lista de documentos de estructuras de datos en el bucket

Para empezar a escribir consultas N1QL, es necesario indexar los datos de la estructura de datos. Como mínimo, se necesita un índice primario a nivel de bucket para las operaciones básicas.

Para los documentos que utilizan las nuevas funciones de colecciones de Couchbase 7.0también deben estar indexados.

Pndices rimarios lucha con grandes conjuntos de datos pero son excelentes para explorar rápidamente pequeñas cantidades de datos. Utilice índices secundarios globales (GSI) cuando avance hacia la producción en un proyecto de big data.

Listado de todos los documentos de datos e identificaciones

Sin embargo, no siempre es posible una indexación más específica, ya que las estructuras de datos pueden no tener claves con nombre. Por ejemplo, un contador es sólo un ID y un valor entero sin nombre de campo. Pero, si tienes un mapa, puedes crear un índice que tenga como objetivo una clave interna.

Una consulta básica del ID del documento puede devolver todos los documentos y mostrar los nombres de los campos utilizados.

query results showing data structure documents

Puntuación actual es un contador básico, mientras que gameList es una lista/colección, etc.

Consulta de ámbitos/colecciones para estructuras de datos

Si utiliza ámbitos y colecciones, añádalos a la cláusula from.

Recupera un valor específico de un objeto de estructura de datos con nombre añadiéndolo a la cláusula where.

JSON query results showing a document ID and counter value

Cuando se especifican nombres de campo (y ningún ID) la consulta devuelve valores coincidentes en todos los documentos.

JSON N1QL query showing records containing specific field names

La consulta devuelve objetos con los campos específicos y sus valores. En los resultados anteriores, sólo una de las estructuras de datos tenía el valor póngase en contacto con campo. Otros dos tenían un nombre pero varios objetos en blanco muestran que no había campos coincidentes.

Para ser escalables, todas las aplicaciones de consulta deben utilizar también índices secundarios globales (GSI) para campos específicos.

Este Mejores prácticas de indexación de bases de datos El artículo cubre más escenarios informáticos utilizados en la ingeniería de software de big data.

Unirlo todo

Como puedes ver, consultar documentos y subcomponentes relacionados es muy sencillo usando Couchbase. El uso estratégico de sofisticados métodos de indexación proporciona aún más formas de acceder a los datos que tus aplicaciones están creando.

Couchbase simplifica drásticamente las arquitecturas de sistemas, permitiendo a los desarrolladores empezar sin mucho trabajo. Estas referencias te ayudarán a empezar rápidamente.

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

Autor

Publicado por Tyler Mitchell - Director de Marketing de Producto

Trabaja como gerente sénior de mercadotecnia de productos en Couchbase, donde ayuda a dar a conocer los productos al público y apoya a nuestros equipos de campo con contenido valioso.

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.