Consulta SQL++ / N1QL

Comparando Couchbase Views con Couchbase N1QL & Indexing.

A medida que la plataforma de datos Couchbase evolucionó, servicios como N1QL y GSI Indexing manejaron los casos de uso que Couchbase VIEWS solía manejar y mucho más. Es lógico hacer la pregunta comparativa entre ellos. He aquí una tabla comparativa entre ambos. Esto está pensado para desarrolladores y arquitectos familiarizados con ambos y no como un artículo introductorio. Utiliza los enlaces aquí para aprender más y jugar con las características respectivas.

Tema Vistas de Couchbase Map-Reduce Couchbase N1QL+GSI
Acérquese a Basado en funciones map() y reduce() definidas por el usuario que operan sobre los datos en segundo plano. Como map() y reduce() están escritas en Javascript, se puede codificar lógica compleja dentro de esas funciones. Basado en la consulta declarativa N1QL (SQL para JSON). Utiliza índices apropiados para optimizar la ejecución y se ejecuta dinámicamente orquestando servicios de consulta-índice-datos. N1QL permite realizar consultas fácilmente escribibles y legibles para JSON. Porque está inspirado en SQL, es flexible, componible. Al estar extendido para JSON, funciona con datos JSON enriquecidos. Utiliza lógica booleana de 4 valores (true, false,NULL, MISSING)
Más información Documentos de Couchbase: https://bit.ly/2jQrY11 1. https://query.couchbase.com
2. https://www.couchbase.com/blog/n1ql-practical-guide-second-edition/
Consulta de Consulta basada en

1. Tecla única
2. Juego de llaves
3. Tecla Inicio-Fin
4. Teclas de inicio-fin de documento
5. Agrupar por, Agregación
6. Paginación

Declaraciones de consulta

1. SELECCIONE
2. INSERTAR
3. ACTUALIZACIÓN
4. BORRAR
5. FUSIONAR
6. INFER
7. EXPLICAR
Operaciones de consulta:
1. Tecla única
2. Juego de llaves
3. Teclas de rango
4. Gama de teclas de documento
5. Predicados arbitrariamente complejos
6. INNER JOIN, LEFT OUTER JOIN
7. NEST, UNNEST
8. GRUPO POR
9. Agregación
10. Paginación (OFFSET, LIMIT)
11. Optimización
12. ORDEN POR
13. TENIENDO
14. 14. Subconsultas (correlacionadas, no correlacionadas)
15. Tablas derivadas
16. Operaciones SET: UNIÓN, UNIÓN TODO, EXCEPTO, EXCEPTO TODO, INTERSECCIÓN
17. Consultas altamente componibles, lo que significa que estas operaciones pueden combinarse simplemente entre sí para expresar fácilmente preguntas y operaciones empresariales complejas.

Indexación Índice simple para vistas. 1. Índice primario
2. Índice primario con nombre
3. Índice secundario
4. Índice secundario compuesto
5. Índice funcional
6. Índice de matrices
7. matriz ALL
8. matriz ALL DISTINCT
9. Índice parcial
10. Índice adaptativo
11. Índices duplicados
12. Índice de cobertura

Particionamiento Alineado con la partición de datos. Servicios independientes.

Las escalas N1QL y GSI son independientes del servicio Data y entre sí.

Escala Escalas con servicio de datos Escalado independiente mediante escalado multidimensional (MDS)
Búsqueda con clave de documento Dado que los datos están particionados en función de la clave del documento, obtiene el documento directamente del nodo Especifique la consulta mediante la cláusula USE KEYS.

Dado que los datos están particionados en función de la clave del documento, obtiene el documento directamente del nodo

Búsqueda con clave de índice Dispersión-Recogida Cada exploración de índice en un único nodo; Datos en varios nodos.

Postprocesamiento en el nodo Consulta

Exploración de la gama Dispersión-Recogida Exploración de índices en un único nodo.

Postprocesamiento en el nodo Consulta

Agrupación, agregación Integrado con Views API Integrado en N1QL
Almacenamiento en caché Sistema de archivos Grupo de búferes de índice

Caché de datos

Almacenamiento Tienda de sofás Motor de almacenamiento de plasma (5.0 y superior)

Índice optimizado para memoria (4.5 y superior)

ForestDB (comunidad)

Disponibilidad Basado en réplicas 5.0: Réplicas

4.x: Índices equivalentes

Latencia de la consulta

(Consultas simples)

10 milisegundos a 100 milisegundos 5 milisegundos+
Rendimiento de las consultas

(Consultas simples)

De 3.000 a 4.000 consultas por segundo 40.000 consultas por segundo
Escalabilidad Moderado (escalado vinculado al servicio de datos) Alta (escalado independiente de los servicios de índice y consulta: MDS)
Aplicabilidad Agregaciones, lo mejor de las agregaciones a gran escala para requisitos de latencia baja y moderada. Las operaciones map-reduce sobre los datos se realizan en segundo plano a medida que estos se modifican. Lo mejor para búsquedas basadas en atributos, escaneos de rangos, select-join-project-array complejos

Operaciones. Admite agrupación, agregación y ordenación: estas operaciones se realizan dinámicamente como parte de la ejecución de la consulta.

Requisitos de la solicitud Informar sobre métricas bien definidas

Agregaciones a gran escala

Sensible a la latencia

Búsqueda de claves secundarias

Exploraciones de la gama

Agregaciones operativas

Consultas filtradas

Consultas ad hoc con predicados complejos, uniones, agregaciones, búsqueda de aplicaciones, paginación, actualizaciones basadas en claves secundarias.

Espacial Con vistas espaciales No directamente.

https://dzone.com/articles/speed-up-spatial-search-in-couchbase-n1ql

Coherencia Stale = UPDATE_AFTER

Caducado = OK

Anticuado = FALSE

Sin límites (antiguo = OK)

AT_PLUS (lea sus propios escritos)

REQUEST_PLUS (lectura después de las actualizaciones del índice hasta now(). Stale = False).

Herramientas Consola web Consola web, Workbench para desarrolladores, Supervisión de consultas, Perfiles de consultas, Visual explain, INFER.
Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Author

Posted by Keshav Murthy

Keshav Murthy is a Vice President at Couchbase R&D. Previously, he was at MapR, IBM, Informix, Sybase, with more than 20 years of experience in database design & development. He lead the SQL and NoSQL R&D team at IBM Informix. He has received two President's Club awards at Couchbase, two Outstanding Technical Achievement Awards at IBM. Keshav has a bachelor's degree in Computer Science and Engineering from the University of Mysore, India, and has received twenty four US patents.

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.