El lanzamiento de Couchbase 6.5 es uno de los lanzamientos de mayor contenido para Couchbase. Para el servicio de consulta N1QL, nos centramos en llevar las funcionalidades de las bases de datos empresariales a la base de datos de Couchbase. Expandiendo N1QL con funciones adicionales para soportar los requerimientos de las aplicaciones empresariales con el objetivo de mejorar la productividad de los desarrolladores.
Este es el resumen de las características del N1QL.
N1QL Buscar()
N1QL ha añadido una capacidad de búsqueda de texto completo con la función N1QL Search(). Aprovecha Couchbase Full Text Search para ofrecer una variedad de capacidades de búsqueda de texto, tales como palabras clave y búsqueda difusa. La Búsqueda de Texto Completo es parte de la Plataforma de Datos Couchbase que corre como un servicio separado con su capacidad de Escalamiento Multi Dimensional. No hay necesidad de un motor de búsqueda separado, ni de importar los datos a un servicio separado. Los usuarios de N1QL ahora pueden aprovechar tanto la Búsqueda de Texto Completo como los predicados estándar de N1QL en una sola sentencia.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Partido Consulta: SELECCIONAR * DESDE `cerveza-muestra` b DONDE BUSCAR(b,{"match":"más lupulado","campo":"descripción"}) Y b.abv > 3 PEDIR POR b.abv DESC LÍMITE 10 OFFSET 20 Difuso Partido: SELECCIONE RAW META(t1).id DESDE `viaje-muestra` AS t1 DONDE BUSCAR(t1, { "match": "interés", "campo": "reviews.content", "confusión":2}) ; Regexp: SELECCIONE RAW META(t1).id DESDE `viaje-muestra` AS t1 DONDE BUSCAR(t1, {"regexp": "inter.+", "campo": "reviews.content"}); Fecha Gama: SELECCIONE RAW META(t1).id DESDE `viaje-muestra` AS t1 DONDE BUSCAR(t1, { "inicio": "2001-10-09T10:20:30-08:00", "fin": "2016-10-31", "inicio_inclusivo": falso, "inclusive_end": falso, "campo": "revisiones.fecha" }); Geoespacial: SELECCIONE RAW META(t1).id DESDE `viaje-muestra` AS t1 DONDE BUSCAR(t1, { "localización": { "lon": -2.235143, "lat": 53.482358 }, "distancia": "100mi", "campo": "geo" }); |
Ventana N1QL y función analítica
Las funciones de ventana amplían la agregación de consultas básicas para permitir preguntas de negocio complejas con una construcción N1QL intuitiva, que de otro modo requeriría que el usuario escribiera consultas y uniones complejas.
Expresión de tabla común N1QL
Common Table Expression introduce la construcción WITH en N1QL para permitir al usuario asignar un nombre al bloque de consulta, al que posteriormente se puede hacer referencia en el resto de la consulta.
Función definida por el usuario N1QL
Permite a los desarrolladores definir una función N1QL personalizada que se puede llamar desde consultas N1QL. Permite el aislamiento de la lógica de aplicación N1QL que puede ser reutilizada por cualquier aplicación y microservicios.
1 2 3 4 5 |
CREAR FUNCIÓN func1(tipo) { (seleccionar * de `viaje-muestra` donde `viaje-muestra`.tipo = tipo) } EJECUTAR FUNCIÓN func1("aerolínea") |
Subconsulta JOIN
La base de datos Couchbase mejora su soporte para ANSI Join para incluir la unión con subconsultas, permitiendo el uso de conjuntos de resultados de consultas dinámicas en la unión.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
SELECCIONE cus.nombre Cliente, cus.industria Industria, usr.nombre Propietario, cuente(1) NumOfMeetings, suma(a_número(actuar.duración)) `Tiempo Gastado` DESDE crm actuar INTERIOR ÚNASE A crm cus EN actuar.accidente = cus.id Y cus.tipo = cuenta INTERIOR ÚNASE A crm usr EN cus.propietario = usr.id Y usr.tipo = usuario <fuerte>ÚNASE A</fuerte> ( seleccione thl.id de crm thl DONDE thl.tipo ="_territorio_mayor_nivel Y thl.padre=ter3) ter <fuerte>EN</fuerte> cus.terid = ter.id DONDE actuar.tipo=Actividad Y actuar.activityType=Nombramiento Y DATE_PART_STR(actuar.fechaInicio, año) =2018 GRUPO POR cus.nombre, cus.industria, usr.nombre |
Las siguientes funciones también estarán disponibles en la versión 6.5 como Developer Preview.
Asesor de índices (DP)
El usuario puede utilizar ahora el Asesor de índices para crear los índices más óptimos para sus consultas. Los índices recomendados también incluyen una sección de índices de cobertura. Las consultas que aprovechan los índices de cobertura pueden beneficiarse de la necesidad de realizar una búsqueda adicional del servicio de datos y, por lo tanto, mejorar el rendimiento general de la consulta. Index Advisor funciona para consultas específicas o para cargas de trabajo de solicitudes completas.
Otras mejoras de N1QL en Couchbase v6.5
Resumen
Estamos muy entusiasmados con el nuevo contenido N1QL para Couchbase v6.5, ya que estas características abordarán muchas peticiones que nuestros clientes han solicitado. Como de costumbre, somos todo oídos cuando se trata de comentarios sobre nuestras nuevas características, y especialmente el Index Advisor(DP) .
Recursos
- Descargar: Descargar Couchbase Server 6.5
- Documentación: Novedades de Couchbase Server 6.5
- Todos los blogs de 6.5
Nos encantaría que nos dijera qué le han parecido las funciones de la versión 6.5 y en qué beneficiarán a su empresa en el futuro. Por favor, comparta su opinión a través de los comentarios o en el foro.