Sin categoría

Introducción a los índices de cobertura

¿Qué son los índices de cobertura?

En el mundo relacional/SQL se puede ahorrar tiempo de consulta mediante el uso juicioso de índices: si se tiene un índice en cada columna que toca la consulta, el SGBD puede devolver los resultados sin bucear en las propias tablas.

Se trata de índices de cobertura.

¿Qué son los índices de cobertura en Couchbase?

Couchbase Server 4.1 trae índices de cobertura a N1QL. Si tienes un índice que cubre todos los datos requeridos por tu consulta N1QL, Couchbase Server puede devolver los datos directamente desde ese índice. Esto reduce al menos una, y posiblemente varias, lecturas de documentos del proceso de consulta.

¿Cómo funciona?

Cuando envías una consulta N1QL a Couchbase, ésta pasa por los siguientes pasos:

  1. Analiza la consulta, lo que hace y crea un plan de consulta.
  2. Comprueba los índices correspondientes.
  3. Obtiene las claves de los documentos que contienen los resultados y, a continuación, obtiene los documentos propiamente dichos.
  4. Extrae los datos pertinentes de esos documentos para crear el resultado.
  5. Devuelve el resultado a su aplicación.

Con un índice de cobertura, todos los datos del resultado se encuentran en el propio índice, por lo que se eliminan los pasos 3 y 4.

¿Cómo se utilizan los índices de cobertura?

No cambia nada en la forma de escribir las consultas. Se trata más bien de cómo configurar los índices. Un único índice - GSI o vista - debe cubrir cada clave JSON que toque tu consulta.

¿Tienes un ejemplo?

Supongamos que almacenamos perfiles de clientes. Podrían tener este aspecto:

{

"Nombre": "Sherlock Holmes",

"Dirección": "221b Baker Street",

"ciudad": "Londres",

"country": "REINO UNIDO",

"newsletter": true,

"joinedDate": 1168041600

}

Si quisiéramos encontrar el nombre y la ciudad de todas las personas suscritas a nuestro boletín, podríamos escribir una consulta N1QL como ésta:

Sin un índice de cobertura, esta consulta sacaría nombre y ciudad de nuestros registros de clientes haciendo una búsqueda de esos documentos.

Podemos crear un índice de cobertura para esta consulta de la siguiente manera:

Ahora la consulta puede satisfacerse íntegramente a partir del índice.

¿Dónde puedo leer más?

Hay un sección sobre índices de cobertura en la documentación de Couchbase Server.

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

Autor

Publicado por Matthew Revell, Defensor principal del desarrollador, EMEA, Couchbase

Matthew Revell es Lead Dev Advocate, EMEA Couchbase. Ha desarrollado una estrategia global para situar a Couchbase en la mente de los desarrolladores del producto.

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.