Herramientas y SDK

Anuncio de Spring Data Couchbase 4.0

Estamos encantados de anunciar que la esperada Spring Data Couchbase 4.0 ya está disponible con capacidades mejoradas. Construido sobre Couchbase Java SDK 3.0, Spring Data Couchbase viene con mejoras tecnológicas y aprovecha las últimas capacidades de Couchbase Server 6.5. Estas mejoras están dirigidas a maximizar la agilidad del desarrollador, ofrecer una impedancia de código reducida, mejorar la capacidad de gestión y proporcionar una experiencia de calidad al desarrollador.

Enlaces de referencia

Introducción

Si ya estás familiarizado con Spring Data y quieres superar la curiosidad puedes hacerlo ahora yendo a la página arribadates sección.

Antes de entrar en lo que ha cambiado en Spring Data CouchbasePara empezar, tomémonos un momento para entender qué es Spring Data, qué problemas resuelve y por qué un desarrollador debería plantearse utilizarlo. 

La mayoría de los desarrolladores están familiarizados con una base de datos, el estándar de facto para la persistencia de datos. Hoy en día, casi todas las aplicaciones se basan en algún tipo de tecnología responsable del almacenamiento persistente, y las aplicaciones empresariales más modernas suelen adoptar el uso de una base de datos multimodelo.

Independientemente de la tecnología utilizada como almacén de persistencia, las operaciones realizadas sobre los datos han permanecido en gran medida constantes. La consistencia en las operaciones proviene de los desarrolladores, durante un período de tiempo, escribiendo miles de líneas de código una y otra vez para Crear, Recuperar, Actualizar y Eliminar datos de su almacén de persistencia subyacente. Como desarrollador siempre querrás evitar escribir código tan repetitivo y monótono, más bien querrás centrarte en escribir lógica de negocio que aporte más valor.

Más de una década, patrones de repositorio han ganado mucha popularidad y tracción en la comunidad de desarrolladores. En su interpretación moderna, un patrón de repositorio abstrae el almacén de datos y permite a tu lógica de negocio definir operaciones de lectura y escritura a un nivel lógico. Estos patrones son buenos desde el punto de vista de la abstracción, pero no resuelven el problema central de un desarrollador que escribe código repetitivo. Implementación de patrones de repositorio y escribir su propio acceso a los datos podría dejarle con un montón de código espagueti haciendo que la mantenibilidad sea una pesadilla, y también podría estar violando la norma Principio D.R.Y. Aquí es donde Spring Data viene a nuestro rescate.

Spring Data es un proyecto de alto nivel de Pivotal cuyo propósito es unificar y facilitar el acceso a diferentes tipos de almacenes de persistencia, tanto sistemas de bases de datos relacionales como almacenes de datos NoSQL. Spring Data proporciona interfaces genéricas para estos aspectos (CrudRepository, PagingAndSortingRepository) así como implementaciones específicas de almacenes de persistencia.

Con los repositorios de Spring Data, sólo tiene que escribir un archivo interfaz con métodos de búsqueda definidos según un conjunto determinado de convenciones (que pueden variar en función del tipo de almacén de persistencia que se utilice). Spring Data proporcionará una implementación adecuada de esa interfaz en tiempo de ejecución.

Spring Data para Couchbase, por otro lado, es parte del proyecto paraguas Spring Data que es mantenido y totalmente soportado por los suscriptores de Couchbase a Enterprise. Spring Data para Couchbase tiene como objetivo proporcionar un modelo de programación familiar y coherente para nuevos almacenes de datos, al tiempo que conserva las características y capacidades específicas del almacén. Con Spring Data Couchbase obtendrá la sencillez de Spring Data combinada con la potencia de Couchbase.

Cambios en Spring Data Couchbase 4.0

Spring Data Couchbase 4.0 se basa en Couchbase Java SDK 3.0.

Couchbase Java SDK 3.0 es un replanteamiento completo de la API 2.x, proporcionando una superficie más simple y añadiendo soporte para futuras características de Couchbase Server como Collections, Scopes y transacciones (disponible desde Couchbase Server 6.5 como un avance para desarrolladores). 

Soporte de la versión del servidor Couchbase

Para estar en consonancia con el soporte de características, la versión mínima requerida de Couchbase Server ha sido aumentada a 5.5 y posteriores. 

N1QL para consultas

De cara al futuro N1QL será la principal aplicación cuando se trata de trabajar con métodos de repositorio personalizados, así como con los incorporados. Dado que Spring Data es anterior a N1QL, utiliza servicios más antiguos por defecto. Si ha utilizado N1QL con Spring Data en el pasado, No te preocupes, no hay cambios significativos en el comportamiento al implementar consultas N1QL con Spring Data Couchbase 4.0.

Gestión automática de índices

Aunque el concepto de Gestión Automática de Índices no es nuevo, la gestión de índices se ha mejorado y está más centrada en N1QL. Mientras que algunas de las anotaciones de Índice como Se eliminan los ViewIndex a medida que dejan de ser relevantes, se añaden muchas nuevas anotaciones de índice a la familia de anotaciones que proporcionarán capacidades enriquecidas como la indexación a nivel de campo, los índices de campo compuestos y mucho más.

Entidades

Nada ha cambiado en lo que respecta a la gestión de entidades, pero pasar de una importación a otra es ahora más fácil que nunca. Todas las anotaciones que formaban parte del SDK 2.x de Couchbase han sido eliminadas, lo que también significa que los desarrolladores se quedan con las anotaciones de datos por defecto de Spring.

Plantillas

ReactiveCouchbaseTemplate y CouchbaseTemplate se han revisado en general, pasando a un API fluida en lugar de sobrecargas de métodos. Además, hemos pasado de RxJava a Reactor para la plantilla reactiva que, a su vez, proporciona una integración perfecta en el ecosistema de spring.Los nombres de los métodos de las plantillas se han generalizado para facilitar su uso, y cualquier se han eliminado los métodos basados en la vista. Además, se han introducido nuevos métodos que aprovechan el servicio de análisis y las réplicas de Couchbase.

Transacciones

Ahora los desarrolladores pueden utilizar de forma nativa todos los transacción que están disponibles para ellos a través de Couchbase SDK 3.0. De esta forma, los desarrolladores pueden tener un control programático total sobre las transacciones.

Configuración

Las versiones anteriores de Spring-Data permitían configuraciones a través de anotaciones tanto XML como basadas en Java, sin embargo, con esta versión Se ha eliminado la configuración basada en XML.  

Vistas

Views existía antes de que existiera N1QL. Spring-Data 3.x enfatizaba el uso de View sobre N1QL para algunos aspectos de los repositorios que entonces aún estaban evolucionando. En los últimos años se ha producido un avance drástico en N1QL con respecto al rendimiento, la escalabilidad y la integración con las capacidades de búsqueda, con el fin de maximizar el beneficio de N1QL, a partir de Spring Data 4.0 se ha eliminado el soporte para Views.

¿Y ahora qué?

Nos encantaría que nos dijera qué le han parecido las funciones de la versión 4.0 y en qué beneficiarán a su empresa en el futuro. También puedes probar algunos de los ejemplos que encontrarás aquí. No olvide comparta su opinión a través de los comentarios o en el foro.

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

Author

Posted by Arun Vijayraghavan

Arun Vijayraghavan is the Principal Product Manager for SDK and Connectors at Couchbase. As a customer obsessed product leader, he strives to shape the future of products, making critical decisions between performance, features, and time-to-market. He has a demonstrated ability and an established track record of over 20 years of providing strategic guidance to companies to launch developer platforms and new products in order to pull together the single vision of maximizing business value of the product. Arun holds dual master degree's in Physics and Information Technology.

6 Comentarios

  1. Gracias por ponerse en contacto con nosotros, ¿podría dar más detalles en este foro?

    https://www.couchbase.com/forums/c/java-sdk

    Habría muchos desarrolladores que podrían ayudarte.

    Esto podría ser una referencia maven que falta.

  2. No se puede utilizar boot ahora mismo con spring data 4 - hay que esperar hasta que se publique boot 2.3 (muy pronto) que lo tiene como dependencia con autoconfigure y todo. Puede utilizar versiones anteriores de boot, pero entonces tendrá que asegurarse de que ni autoconfigure ni ninguna otra cosa esté en el classpath.

    También tenga en cuenta que couchbase no hace nada con JDBC, así que no estoy seguro de cómo esto está relacionado con Couchbase

  3. ¿Dónde podemos encontrar una descripción detallada de la configuración de Couchbase al actualizar a spring-boot 2.3.0 y encontrarnos con problemas al ampliar AbstractCouchbaseConfiguration?
    El enlace proporcionado en este blog no tiene explicación/documentación para los métodos en AbstractCouchbaseConfiguration.
    Buscando configurar múltiples cubos que antes funcionaba con versiones anteriores de SDK y spring boot.

  4. @riya, hay múltiples instancias mencionadas en este blog donde puedes buscar ayuda

    a) Ejemplo: (https://github.com/deniswsrosa/spring-data-examples/blob/boot-next/couchbase/example/src/main/java/example/springdata/couchbase/repository/CouchbaseConfig.java)

    b) Documentos de datos de Spring : https://docs.spring.io/spring-data/couchbase/docs/4.0.0.RELEASE/reference/html/#couchbase.configuration

    También debe saber que con RBAC tendrá que proporcionar autenticación a nivel de clúster
    Si tiene más preguntas puede dirigirse directamente a la comunidad de desarrolladores en https://www.couchbase.com/forums/c/java-sdk

  5. Gracias. Me referiré a ellos.

  6. ¿Puede ser más específico sobre lo que estaba tratando de hacer y qué es lo que no funcionó?
    has probado 4.0.1 tiene muchas más correcciones
    y póngase en contacto con nuestro foro obtendrá una respuesta y ayuda rápidas
    ¡siempre estamos ahí para ayudarle!

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.