Temos o prazer de anunciar que o tão aguardado Spring Data Couchbase 4.0 já está disponível com recursos aprimorados. Criado com base no Couchbase Java SDK 3.0, o Spring Data Couchbase pronto para uso vem com aprimoramentos tecnológicos e aproveita os recursos mais recentes do Couchbase Server 6.5. Esses aprimoramentos têm como objetivo maximizar a agilidade do desenvolvedor, oferecer impedância de código reduzida, melhorar a capacidade de gerenciamento e proporcionar uma experiência de qualidade ao desenvolvedor.

Links de referência

Introdução

Se você já estiver familiarizado com o Spring Data e quiser superar a curiosidade, poderá fazer isso agora, acessando a seção para cimadates seção.

Antes de falar sobre o que mudou na Dados do Spring CouchbasePara que você possa entender o que é o Spring Data, quais problemas ele resolve e por que um desenvolvedor deve considerar usá-lo. 

A maioria dos desenvolvedores está familiarizada com um banco de dados, o padrão de fato para a persistência de dados. Atualmente, quase todos os aplicativos dependem de algum tipo de tecnologia responsável pelo armazenamento persistente, sendo que os aplicativos corporativos mais modernos geralmente adotam o uso de um banco de dados multimodelo.

Independentemente da tecnologia usada como armazenamento de persistência, as operações realizadas nos dados permaneceram consistentes em grande parte. A consistência nas operações se deve ao fato de os desenvolvedores, durante um período de tempo, escreverem milhares de linhas de código repetidamente para criar, recuperar, atualizar e excluir dados de seu armazenamento de persistência subjacente. Como desenvolvedor, você sempre quer evitar escrever códigos repetitivos e monótonos e, em vez disso, quer se concentrar em escrever lógica comercial que agregue mais valor.

Mais de uma década, padrões de repositório ganharam muita popularidade e força na comunidade de desenvolvedores. Em sua interpretação moderna, um padrão de repositório abstrai o armazenamento de dados e permite que sua lógica de negócios defina operações de leitura e gravação em um nível lógico. Esses padrões são bons do ponto de vista das abstrações, mas ainda não resolvem o problema central de um desenvolvedor que escreve código repetitivo. Implementação de padrões de repositório e escrever seu próprio acesso a dados pode deixá-lo com um monte de código espaguete, tornando a manutenção um pesadelo, e também pode estar violando o Princípio D.R.Y.. É nesse ponto que o Spring Data vem em nosso socorro.

O Spring Data é um projeto de alto nível da Pivotal cujo objetivo é unificar e facilitar o acesso a diferentes tipos de armazenamentos de persistência, tanto sistemas de bancos de dados relacionais quanto armazenamentos de dados NoSQL. O Spring Data fornece interfaces genéricas para esses aspectos (CrudRepository, PagingAndSortingRepository), bem como implementações específicas de armazenamento de persistência.

Com os repositórios do Spring Data, você só precisa escrever um arquivo interface com métodos de busca definidos de acordo com um determinado conjunto de convenções (que podem variar dependendo do tipo de armazenamento de persistência que você estiver usando). O Spring Data fornecerá uma implementação apropriada dessa interface em tempo de execução.

O Spring Data for Couchbase, por outro lado, faz parte do projeto Spring Data, que é mantido e totalmente suportado pelos assinantes do Couchbase to Enterprise. O Spring Data for Couchbase tem como objetivo fornecer um modelo de programação familiar e consistente para novos armazenamentos de dados e, ao mesmo tempo, manter os recursos e as funcionalidades específicos do armazenamento. Com o Spring Data Couchbase, você tem a simplicidade do Spring Data combinada com o poder do Couchbase!

O que mudou no Spring Data Couchbase 4.0

O Spring Data Couchbase 4.0 foi desenvolvido com base no Couchbase Java SDK 3.0.

O Couchbase Java SDK 3.0 é uma reformulação completa da API 2.x, fornecendo uma área de superfície mais simples e adicionando suporte para futuros recursos do Couchbase Server, como coleções, escopos e transações (disponíveis desde o Couchbase Server 6.5 como um visualização do desenvolvedor). 

Suporte à versão do servidor Couchbase

Para ficar de acordo com o suporte a recursos, o requisito mínimo da versão do Couchbase Server foi aumentado para 5.5 e posterior. 

N1QL para consultas

Seguindo em frente O N1QL será a implementação principal quando se trata de trabalhar com métodos de repositório personalizados, bem como com os incorporados. Como o Spring Data era anterior ao N1QL, ele usava serviços mais antigos por padrão. Se você já usou o N1QL com o Spring Data no passado, Não se preocupe, não há alterações comportamentais significativas ao implementar consultas N1QL com o Spring Data Couchbase 4.0.

Gerenciamento automático de índices

Embora o conceito de gerenciamento automático de índices não seja novo, o gerenciamento de índices foi aprimorado e está mais centrado no N1QL. Embora algumas das anotações de índice, como Os ViewIndexes são removidos Como elas não são mais relevantes, muitas novas anotações de índice são adicionadas à família de anotações, o que fornecerá recursos aprimorados, como indexação em nível de campo, índices de campo compostos e muito mais.

Entidades

Nada mudou quando se trata de lidar com entidades, mas alternar entre importações ficou mais fácil do que nunca. Todas as anotações que faziam parte do Couchbase SDK 2.x foram abandonadas, o que também significa que os desenvolvedores podem se ater às anotações de dados padrão do Spring.

Modelos

ReactiveCouchbaseTemplate e CouchbaseTemplate foram revisados em geral, passando para um API fluente em vez de sobrecargas de métodos. Além disso, mudamos de RxJava para Reator para o modelo reativo que, por sua vez, oferece uma integração perfeita ao ecossistema do Spring.Os nomes dos métodos de modelo foram generalizados para facilitar o uso, e qualquer os métodos baseados em visualização foram removidos. Além disso, foram introduzidos novos métodos que aproveitam o serviço de análise e as réplicas do Couchbase.

Transações

Os desenvolvedores agora podem usar nativamente todos os transação que estão disponíveis para eles por meio do Couchbase SDK 3.0. Dessa forma, os desenvolvedores podem ter controle programático total sobre as transações.

Configuração

As versões anteriores do Spring-Data permitiam configurações por meio de anotações baseadas em XML e Java; no entanto, com esta versão A configuração baseada em XML foi removida.  

Visualizações

As visualizações existiam antes do surgimento do N1QL. O Spring-Data 3.x enfatizou o uso da visualização em vez do N1QL para alguns aspectos dos repositórios que ainda estavam em evolução. Nos últimos anos, houve um avanço drástico no N1QL com relação a desempenho, escalabilidade e integração com recursos de pesquisa, a fim de maximizar os benefícios do N1QL, a partir do Spring Data 4.0 o suporte a visualizações foi removido.

Então, o que vem a seguir?

Gostaríamos muito de saber o que você achou dos recursos da versão 4.0 e como eles beneficiarão sua empresa no futuro. Você também pode experimentar alguns dos exemplos encontrados aqui. Por favor, não se esqueça de compartilhe seu feedback por meio dos comentários ou na seção fórum.

Autor

Postado por Arun Vijayraghavan

Arun Vijayraghavan é o principal gerente de produtos de SDK e conectores da Couchbase. Como líder de produto obcecado pelo cliente, ele se esforça para moldar o futuro dos produtos, tomando decisões críticas entre desempenho, recursos e tempo de colocação no mercado. Ele tem uma capacidade comprovada e um histórico estabelecido de mais de 20 anos de fornecimento de orientação estratégica a empresas para lançar plataformas de desenvolvedores e novos produtos, a fim de reunir a visão única de maximizar o valor comercial do produto. Arun tem dois mestrados em Física e Tecnologia da Informação.

6 Comentários

  1. Obrigado por entrar em contato, mas pode fornecer mais detalhes neste fórum?

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

    Existem muitos desenvolvedores que podem ajudá-lo.

    Isso pode ser uma referência maven ausente.

  2. Não é possível usar o boot agora com o spring data 4 - você precisa esperar até que o boot 2.3 seja lançado (muito em breve), que o tem como uma dependência com autoconfigure e tudo mais. Você pode usar versões mais antigas do boot, mas precisará garantir que nenhum autoconfigure ou qualquer outra coisa esteja no classpath.

    Observe também que o Couchbase não faz nada com JDBC, portanto, não tenho certeza de como isso está relacionado ao Couchbase

  3. Onde podemos encontrar uma descrição detalhada sobre a configuração do Couchbase ao atualizar para o spring-boot 2.3.0 e enfrentar problemas ao estender o AbstractCouchbaseConfiguration.
    O link fornecido neste blog não tem explicação/documentação para os métodos do AbstractCouchbaseConfiguration.
    Estou procurando configurar vários buckets que estavam funcionando anteriormente com versões anteriores do SDK e do Spring Boot.

  4. @riya, há várias instâncias mencionadas neste blog nas quais você pode procurar ajuda

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

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

    Você também deve saber que, com o RBAC, será necessário fornecer autenticação no nível do cluster
    Se tiver mais dúvidas, você pode entrar em contato diretamente com a comunidade de desenvolvedores em https://www.couchbase.com/forums/c/java-sdk

  5. Obrigado! Vou indicá-los.

  6. Você pode ser mais específico sobre o que estava tentando fazer e o que não funcionou.
    Você já tentou a versão 4.0.1, que tem muito mais correções?
    Entre em contato também com nosso fórum Você receberá respostas e ajuda rápidas
    Estamos sempre à disposição para ajudar!

Deixar uma resposta