Ferramentas e SDKs

Novos recursos no Couchbase SDK 3.1!

Na primavera de 2020, lançamos a última reformulação do SDK do Couchbase: 3.0. Com o lançamento do Couchbase Server 6.5.0 e oferecendo suporte experimental antecipado para Scopes e Collections, ele também incluiu uma API completamente nova e consistência entre as diferentes plataformas. Embora o SDK 3.0 tenha sido um marco significativo na história do Couchbase, ele foi apenas mais um aprimoramento incremental para os desenvolvedores que trabalham com o Couchbase Server. O Couchbase Server continua a evoluir, adicionando novos recursos, e é por isso que agora estamos lançando o Couchbase SDK 3.1.0 com ainda mais aprimoramentos para coisas como o suporte ao FTS Geo Polygon e o Bucket Durability Management, entre outros.

Esta publicação analisa cada novo recurso adicionado em todos os SDKs do Couchbase. Os exemplos estão em C#, mas espere implementações idiomáticas semelhantes em todos os SDKs, seja em Java, Go ou outra linguagem.

Suporte ao polígono geográfico do FTS

Para aumentar os dois tipos de consultas geográficas, Distância do ponto e Retângulo delimitado, já suportado pelo Couchbase, na versão 6.5.0 Consultas de polígonos delimitados geograficamente foi adicionado. As consultas Point Distance são úteis para encontrar coisas como restaurantes perto de você e distância ordenada perto de você. As consultas Bounded Rectangle ajudam a encontrar restaurantes dentro de um limite retangular específico próximo a você, como um quarteirão. As consultas Geo Bounded Polygon permitem encontrar restaurantes dentro de um polígono delimitado aleatório usando uma matriz de pares de coordenadas como parâmetros de entrada.

Você pode ler mais sobre as consultas do Geo Polygon em esta postagem do blog.

Gerenciamento da durabilidade da caçamba

Garantias de nível de durabilidade persistência para documentos; se um documento foi ou não persistido no disco e em quantas réplicas ele foi gravado.

Nas versões mais antigas do Couchbase Server e do SDK, as configurações de nível de durabilidade só podiam ser fornecidas por meio da operação K/V. Isso poderia se transformar rapidamente em um processo repetitivo e mundano, especialmente no caso em que as garantias de persistência deveriam ser as mesmas em todos os documentos de um Bucket. A partir do Couchbase Server 6.6, agora podemos adicionar Durabilidade como uma configuração no nível do Bucket. O Couchbase Server 6.6 adiciona durabilidade no nível do bucket, o que permite que uma determinada durabilidade seja aplicada a todos os documentos em um bucket. No Couchbase SDK 3.1.0, continuamos a oferecer suporte aos SDKs usando a API de gerenciamento de bucket.

Os níveis de durabilidade suportados são:

  • Maioria - o documento deve ter sido replicado para a maioria dos nós configurados em um cluster
  • MajorityAndPersistActive (Maioria e Persistência Ativa) - o mesmo que Majority, mas o documento também deve ser mantido no nó ativo para que os requisitos de durabilidade sejam atendidos.
  • PersistToMajority (Persistir para a maioria) - o documento deve ser persistido em uma maioria dos nós configurados no disco.

O nível de persistência padrão é nenhum, mas você ainda pode especificar o nível de durabilidade na inserção ou atualização do documento.

Gerenciamento de baldes efêmeros

Esse recurso permite que a política de despejo de documentos seja definida para os Buckets efêmeros na criação usando a API de gerenciamento. Agora, há suporte para as seguintes políticas de despejo:

  • Despejo da NRU - Quando a cota de memória é atingida, o Couchbase Server ejeta os dados que não foram usados recentemente.
  • Sem despejo - O Couchbase Server mantém todos os dados até que sejam explicitamente excluídos, mas rejeitará todos os novos dados se você atingir a cota (memória dedicada) definida para o seu bucket.

Aqui está um exemplo de configuração de NRU Eviction:

O padrão é No Eviction se não for especificado.

Índice FTS Flex

Índice FTS Flex

Índice Flex oferece ao desenvolvedor a capacidade de usar o Couchbase Query Service para aproveitar os recursos de pesquisa. Por exemplo, o N1QL usa índices B-Tree porque eles têm seletividade e o FTS usa índices invertidos que fornecem baixa seletividade ou "fuzziness"; o Flex Index permite que você combine consultas exatas e fuzzy simplesmente fornecendo uma dica ao serviço sobre qual comportamento você deseja. No SDK, essa funcionalidade é exposta por meio da configuração de um sinalizador simples no objeto QueryOptions que informa ao serviço N1QL para considerar o uso de qualquer índice FTS para atender à consulta.

Para usar os índices flexíveis, basta definir a propriedade ou o método FlexIndex na classe QueryOptions.

Parâmetro de pontuação FTS

Como otimização, a pontuação agora pode ser desativada ao fazer consultas de pesquisa. Isso é exposto como um parâmetro de bloco de opções passado:

A pontuação será desativada se true for passado, caso contrário, será incluída na resposta.

GetResult.Expiry foi descontinuado

Finalmente, GetResult.Expiry foi descontinuado e substituído por GetResult.ExpiryTime que especifica uma instância no tempo, em vez de uma duração.

Comentários, por favor!

Esses são os novos recursos que foram adicionados ao Couchbase SDK 3.1 para o Couchbase Server 6.6 e 7.0. Esperamos que eles sejam úteis e sinta-se à vontade para fornecer feedback em nosso fóruns ou faça uma pergunta a um especialista em Couchbase.

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Jeff Morris, engenheiro de software sênior, Couchbase

Jeff Morris é engenheiro de software sênior da Couchbase. Antes de ingressar na Couchbase, Jeff passou seis anos na Source Interlink como arquiteto da Web corporativa. Jeff é responsável pelo desenvolvimento dos SDKs do Couchbase e pela integração com o N1QL (linguagem de consulta).

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.