Nos complace anunciar el lanzamiento de Couchbase Server 6.5 GA con características estelares que lideran la innovación en el mercado de bases de datos NoSQL. Estamos entusiasmados de ser pioneros una vez más en algunas de las capacidades relacionales más buscadas en el mundo NoSQL. Estas funcionalidades están orientadas a mejorar la agilidad de los desarrolladores, ofrecer un coste total de propiedad reducido, mejorar la capacidad de gestión y proporcionar seguridad y rendimiento de nivel empresarial. Los desarrolladores y la gente de DevOps tienen mucho que aprender de esta versión.

Lea en este blog un breve resumen de todas las nuevas mejoras, ¡y podrá empezar a utilizarlas de inmediato!

Agilidad y flexibilidad inigualables 

Con esta versión, Couchbase proporciona a los desarrolladores de aplicaciones sus capacidades relacionales más solicitadas, como transacciones ACID distribuidas, capacidades de consulta avanzadas como funciones de ventana, asesor de índices, optimizador basado en costes, mejoras en los eventos, actualizaciones importantes de los SDK, ¡y mucho más! Siga leyendo para obtener un resumen de estas actualizaciones.

Transacciones ACID distribuidas

Con las transacciones ACID distribuidas, los desarrolladores de aplicaciones pueden simplificar la lógica de sus aplicaciones confiando en la semántica todo o nada de Couchbase para modificar de forma duradera múltiples documentos distribuidos en diferentes nodos. Las réplicas son inmediatamente coherentes con la confirmación de la transacción, mientras que los índices y la replicación entre centros de datos (XDCR) son finalmente coherentes con la confirmación de la transacción. Se proporciona aislamiento de lectura para lectores concurrentes. La durabilidad se proporciona en tres niveles diferentes: replicar en la mayoría de los nodos; replicar en la mayoría y persistir en disco en el primario; o persistir en disco en la mayoría de los nodos..

Las transacciones de Couchbase están diseñadas para proporcionar garantías ACID a escala, asegurando que no haya puntos únicos de fallo o cuellos de botella en el rendimiento. 

Más información: 

SDK 3.0

Nueva plataforma

SDK 3.0 incorpora el nuevo SDK de Scala, que permite a los desarrolladores obtener y recuperar documentos, ejecutar consultas, realizar análisis y búsquedas de texto completo, todo ello con Scala nativo. También es compatible con Reactor para simplificar la programación asíncrona. El SDK de Scala es compatible con varias bibliotecas JSON populares de Scala con las que los desarrolladores están familiarizados y ofrece la máxima flexibilidad.

Programación asíncrona simplificada

La programación asíncrona simplificada aprovecha los últimos avances en lenguajes clave:

  • Node.js SDK - Soporta Promesas en JavaScript ES6 que simplifica enormemente la programación asíncrona haciendo que el código parezca síncrono y evita los problemas asociados con las devoluciones de llamada.
  • Java SDK - Soporta Reactor para proporcionar un modelo de programación reactiva potente y eficiente para aplicaciones basadas en Java 8. Se basa en Reactive Streams, un estándar para crear aplicaciones reactivas.
  • Scala SDK - Soporta Reactor para simplificar la programación asíncrona. 
  • Python SDK - Soporta Async IO en Python 3 para simplificar el código asíncrono en Python y lo hace casi tan legible como el código síncrono ya que no hay callbacks. También ofrece soporte para los emergentes estándares de anotación de tipos de Python para mejorar la descubribilidad y fiabilidad de las aplicaciones que utilizan nuestro SDK.

El SDK .NET 3.0 de Couchbase ahora está orientado a las especificaciones de las APIs .NET Standard 2.0 y 2.1. Esto significa que el SDK .NET funcionará en .NET Framework 4.6 y superior y en .NET Core, lo que permitirá a las empresas escribir aplicaciones .NET portátiles en Windows, macOS y Linux.

Las últimas funciones mejoran significativamente la facilidad de uso de las API del SDK al consolidar y perfeccionar las interfaces basadas en sobrecargas formales en una interfaz más pequeña y concisa, al tiempo que se mantiene y mejora la conformidad entre SDK.

Mejora de la HA y la observabilidad

Hemos implementado el patrón de disyuntores para mejorar la disponibilidad del sistema y prevenir fallos en cascada evitando poner cargas en un recurso con problemas. Un disyuntor también proporciona una advertencia temprana sobre posibles problemas del sistema cuando se activa. El disyuntor es compatible con nuestro SDK de Java y pronto lo será con nuestros SDK de .NET y Python.

Pronto habrá soporte para OpenTelemetry en todos nuestros SDKs para facilitar la obtención de datos de telemetría críticos de las aplicaciones Couchbase de una manera robusta y portátil. OpenTelemetry es un proyecto sandbox de CNCF, y la próxima gran versión de los proyectos OpenTracing y OpenCensus.

Más información:

Mejoras en las consultas

Con Couchbase Server 6.5, se han realizado numerosas adiciones novedosas a N1QL para satisfacer las necesidades de los desarrolladores SQL de disponer de un completo conjunto de herramientas de desarrollo de consultas para crear aplicaciones. Algunas de ellas se comentan brevemente a continuación.

Funciones de ventana

El estándar RDBMS ANSI equivalente a funciones de ventana se introduce ahora en Couchbase para simplificar consultas complejas como informes financieros y estadísticos usando N1QL. Esta función es aplicable tanto al servicio de consultas como al de análisis: el servicio de consultas se ejecuta en tecnología SMP, mientras que el servicio de análisis se ejecuta en una arquitectura MPP.

Expresiones comunes de tabla (CTE)

Couchbase CTE es otro equivalente ANSI CTE para mejorar la manejabilidad de consultas complejas donde el desarrollador puede aislar la sentencia SQL en un conjunto de resultados temporal con nombre que puede ser referenciado como una tabla fuente en el contexto de una consulta mayor. 

Integración de consultas y búsquedas

La potente capacidad de búsqueda de texto completo de Couchbase está ahora totalmente integrada con N1QL. Esta característica amplía la funcionalidad de búsqueda de N1QL con búsquedas de texto difusas y no exactas en múltiples campos y en cualquier orden. Esto evita a los desarrolladores tener que escribir código complejo para procesar y combinar los resultados de consultas SQL y de búsqueda independientes.

Optimizador basado en costes (avance para desarrolladores)

Couchbase ofrece al mundo NoSQL el conocido optimizador basado en costes, que deriva patrones de acceso basados en datos estadísticos para el ajuste de consultas. Esta función ayuda a los desarrolladores a eliminar el tiempo dedicado a ajustar una consulta utilizando un optimizador basado en reglas para elegir el plan de ejecución más óptimo. 

Index Advisor (avance para desarrolladores)

Index advisor es otra valiosa adición a la cartera de herramientas de Couchbase donde se proporcionan sugerencias de índices para optimizar el ajuste de consultas y mejorar el rendimiento de las consultas. Las cargas de trabajo en ejecución se monitorizan y analizan para sugerir índices apropiados para mejorar los tiempos de respuesta. 

Funciones definidas por el usuario (avance para desarrolladores)

Los procedimientos almacenados más queridos del mundo relacional están de vuelta como funciones definidas por el usuario con N1QL. Los ninjas de JavaScript pueden utilizar sus habilidades para definir las funciones de forma centralizada, que a su vez pueden ser aprovechadas por varias aplicaciones o microservicios. Esto proporcionará una mejor gestión de la lógica compleja y el rendimiento de la aplicación. 

Más información:

Mejoras analíticas

Analizar la coherencia de los análisis

Con la coherencia de análisis en Analytics, las operaciones de clúster, como el reequilibrio y la conmutación por error, no afectarán a los informes críticos para la empresa ni a los cuadros de mando que se utilizan para obtener información y tomar decisiones empresariales.

Más información:

Funciones de ventana

Las funciones de ventana también están disponibles en el servicio Analytics. Aunque la sintaxis y la semántica son portables entre los dos servicios, el servicio de Consulta se ejecuta en modo SMP mientras que el servicio de Análisis se ejecuta en una arquitectura MPP.

Más información:

Compresión de almacenamiento

Compresión de almacenamiento mediante rápido permite reducir la huella de disco del Servicio de Análisis, lo que se traduce en una reducción de los costes de almacenamiento. La compresión puede activarse por conjunto de datos o globalmente para todos los conjuntos de datos recién creados. Para más información, consulte Lenguaje de definición de datos (DDL).

Mejoras en las pruebas

Couchbase Functions ahora soporta cURL nativo que permite a los usuarios propagar eventos a otras APIs cuando las tasas de mutación son bajas. El bucket fuente puede ser actualizado desde dentro de la función, lo que permite a los desarrolladores escribir aplicaciones que necesiten capacidades de enriquecimiento de datos en línea. Además, otras operaciones de bucket, como los cambios de subdocumento, podrían realizarse desde dentro de la función. Aprovechando 'From Prior' como límite de alimentación, las Funciones Couchbase podrían ser des-desplegadas, editadas y re-desplegadas sin perder una sola mutación; se mantiene la continuidad.

Más información:

Rendimiento inigualable a cualquier escala

Más cubos por clúster

Los buckets en Couchbase proporcionan aislamiento físico, lógico y de acceso. Con 6.5, ofrecemos la posibilidad de crear hasta 30 buckets en un único clúster. Esto reforzará las oportunidades de soportar aplicaciones multi-tenancy y basadas en microservicios con una mejor utilización de los recursos. 

Más información:

Colecciones (avance para desarrolladores)

Como un paso para impulsar la migración de relacional a NoSQL sin problemas, se introducen las colecciones para permitir a las aplicaciones estructurar sus datos manteniendo juntos documentos similares, al igual que hacen las tablas en las bases de datos relacionales. Además, las colecciones relacionadas pueden mantenerse juntas en un único ámbito. Con colecciones y ámbitos, los desarrolladores de aplicaciones encontrarán mucho más fácil migrar sus esquemas y datos a Couchbase desde sistemas relacionales como Oracle y SQL Server, así como traducir sus consultas SQL a Couchbase N1QL. Las colecciones y los ámbitos se pueden controlar individualmente, lo que también permite que muchos microservicios y/o aplicaciones compartan una única base de datos (bucket) de Couchbase. 

Más información:

Filtrado avanzado en XDCR

El filtrado avanzado de XDCR permite crear filtros basados en atributos de documentos como claves, valores y Xattrs con una sintaxis similar a N1QL. También ofrecemos la flexibilidad de modificar los filtros dinámicamente para la replicación en curso con el fin de garantizar que los usuarios solo repliquen los datos relevantes para sus necesidades empresariales en cualquier momento de la replicación.

Más información:

Calidad de servicio para XDCR

La función de calidad de servicio de XDCR permite a los administradores priorizar los flujos de replicación en curso sobre la replicación inicial para garantizar que las réplicas se atienden en el orden de criticidad. Las prioridades asignadas dictarán la calidad del servicio para cada flujo de replicación y permitirán una utilización eficiente de los recursos.

Más información:

La plataforma más fácil de gestionar

Operación de reequilibrio robusta  

El reequilibrio es ahora mucho más robusto y resistente, permitiendo a los administradores de Couchbase automatizar la gestión del reequilibrio de su clúster. Algunas de las mejoras son el reinicio automático del reequilibrio tras un fallo, la recuperación automática de fallos durante el reequilibrio y la mejora de la supervisión del progreso del reequilibrio.

Más información:

Cifrado de nodo a nodo

Couchbase Server sigue ampliando sus capacidades de seguridad para satisfacer los estrictos requisitos de seguridad y cumplimiento normativo. El cifrado de nodo a nodo añade una capa adicional de seguridad al cifrar los datos en tránsito entre los servicios de clúster que se despliegan a través de los servidores. Esto evita que posibles atacantes intercepten el tráfico sensible intra-clúster. 

Más información:

Compatibilidad con grupos LDAP 

Con el soporte de grupos, puedes aprovechar los grupos organizativos existentes en tu dominio LDAP para controlar el acceso a Couchbase Server. Además, los grupos de usuarios también pueden configurarse para usuarios de dominio local para gestionar y controlar mejor a qué recursos de Couchbase se accede. Los grupos se pueden asignar a equipos de desarrollo, unidades de negocio o departamentos reales. 

Más información:

Configuración del cifrado TLS 

Con la seguridad volviéndose más y más importante que nunca, el endurecimiento de tus servidores y la eliminación de suites de cifrado antiguas o débiles se está convirtiendo en una prioridad para muchas organizaciones. Couchbase Server proporciona un enfoque consistente para modificar suites de cifrado TLS y configuraciones a través de servicios, que persiste a través de actualizaciones y reinicios del servidor. 

Más información:

Copia de seguridad y recuperación

Se han introducido mejoras significativas en la copia de seguridad y recuperación en términos de rendimiento, almacenamiento y escalabilidad. Hemos modificado el formato de almacenamiento, sustituido el motor de almacenamiento e introducido la compresión en el servidor, lo que ha supuesto un fuerte aumento del rendimiento y una reducción de los requisitos de almacenamiento. Todas las operaciones de copia de seguridad, como las copias de seguridad completas e incrementales, la restauración, la fusión y la lista, son más rápidas que en las versiones anteriores. También hemos introducido un nuevo comando Info y la posibilidad de medir la coherencia (vista previa para desarrolladores).

Más información:

Estadísticas avanzadas de IU

En la interfaz de usuario se ofrecen estadísticas específicas de cada servicio para facilitar la resolución de problemas. Estas estadísticas se actualizan con un nuevo marco de gráficos que permite a los usuarios personalizarlas por completo, con funciones como la posibilidad de seleccionar intervalos de tiempo, tamaños de visualización, agregación en varios nodos, edición, arrastrar, soltar, etc.

Más información:

Recursos

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

Autor

Publicado por Anil Kumar, Director de Gestión de Producto, Couchbase Cloud-Native Database

Anil Kumar es el Director de Gestión de Producto en Couchbase. La carrera de Anil abarca más de 19 años de creación de productos de software en varios dominios, incluyendo software empresarial y servicios en la nube. Es un líder de producto responsable de las líneas de producto Couchbase Server, Couchbase Cloud y Kubernetes, incluyendo la evangelización de la estrategia y visión del producto con clientes, socios, desarrolladores y analistas. Antes de unirse a Couchbase, Anil pasó varios años trabajando en Microsoft Redmond. Anil tiene un máster en informática por la Universidad de Toronto (Canadá) y una licenciatura en tecnología de la información por la Universidad Tecnológica Visvesvaraya (India).

Dejar una respuesta