No Estruturas de dados para aplicativos NoSQL postar, usamos o acesso simplificado a dados JSON por meio de coleções nativas, mapas e muito mais. Esta postagem demonstra a consulta desses dados usando consultas N1QL de nível superior, a linguagem baseada em SQL para JSON.

chart of couchbase data structures and examples

Resumo dos tipos de estrutura de dados do Couchbase e amostras de JSON.

Os desenvolvedores podem se concentrar no gerenciamento de estruturas de dados básicas e tipos de dados usando linguagens de programação. Enquanto isso, os DBAs e os analistas podem acessar os mesmos dados usando uma linguagem de consulta. O Couchbase faz isso usando métodos de indexação de dados NoSQL e serviços de consulta N1QL.

As consultas de pesquisa com o mecanismo de pesquisa de texto completo do Couchbase também são possíveis e serão abordadas em um post futuro.

O que é indexação de banco de dados NoSQL? 

A indexação examina os dados e determina como encontrar esses elementos novamente. A indexação pode ser aplicada a documentos JSON, chaves/campos ou valores em campos. As chaves em documentos JSON funcionam como nomes de colunas em sistemas de indexação de bancos de dados tabulares.

O banco de dados gerencia essas coleções de elementos e valores como índices que apontam para a fonte. O backend do banco de dados atualiza a indexação à medida que os documentos são alterados durante o armazenamento de dados. Enquanto isso, os DBAs podem otimizar a indexação para casos de uso específicos, como gravações ou consultas de alto volume.

Com o uso de índices, as consultas N1QL podem encontrar rapidamente os valores de campo correspondentes sem precisar examinar os dados originais. Esse método também se aplica às estruturas de dados comuns, coleções e escopos introduzidos em Couchbase 7.0.

Consulta de estruturas de dados do Couchbase com N1QL

O console da Web do Couchbase é uma maneira fácil de visualizar documentos de estrutura de dados no banco de dados. Observe como os documentos de estrutura de dados geralmente são muito mais simples do que os documentos JSON mais complexos.

data structure documents listed in the bucket preview screen

Lista de documentos de estrutura de dados no bucket

Para começar a escrever consultas N1QL, é necessário indexar os dados de sua estrutura de dados. É necessário, no mínimo, um índice primário em todo o bucket para operações básicas.

Para documentos que usam os novos recursos de coleções de Couchbase 7.0eles também devem ser indexados.

Píndices secundários dificuldade com grandes conjuntos de dados mas são excelentes para explorar rapidamente pequenas quantidades de dados. Use os índices secundários globais (GSI) ao passar para a produção em um projeto de Big Data.

Listagem de todos os documentos de dados e IDs

Entretanto, uma indexação mais direcionada nem sempre é possível, pois as estruturas de dados podem não ter chaves nomeadas. Por exemplo, um contador é apenas um ID e um valor inteiro sem nome de campo. Porém, se você tiver um mapa, poderá criar um índice que tenha como alvo uma chave interna.

Uma consulta básica para o ID do documento pode retornar todos os documentos e mostrar os nomes de campo que estão sendo usados.

query results showing data structure documents

CurrentScore é um contador básico, enquanto gameList é uma lista/coleção, etc.

Consulta de escopos/coleções para estruturas de dados

Se estiver usando escopos e coleções, adicione-os à cláusula from.

Recupere um valor específico de um objeto de estrutura de dados nomeado, adicionando-o à cláusula where.

JSON query results showing a document ID and counter value

Ao especificar nomes de campo (e nenhum ID), a consulta retorna valores correspondentes em todos os documentos.

JSON N1QL query showing records containing specific field names

A consulta retorna objetos com os campos específicos e seus valores. Nos resultados acima, apenas uma das estruturas de dados tinha o campo contato campo. Dois outros tinham um nome mas vários objetos em branco mostram que não havia campos correspondentes.

Para serem dimensionáveis, todos os aplicativos de consulta também devem usar índices secundários globais (GSI) para campos específicos.

Isso Práticas recomendadas de indexação de banco de dados O artigo aborda mais cenários de ciência da computação usados na engenharia de software de Big Data.

Reunindo tudo isso

Como você pode ver, a consulta de documentos e subcomponentes relacionados é muito simples com o Couchbase. O uso estratégico de métodos de indexação sofisticados oferece ainda mais maneiras de acessar os dados que seus aplicativos estão criando.

O Couchbase simplifica drasticamente as arquiteturas de sistema, permitindo que os desenvolvedores comecem a trabalhar sem muito trabalho pesado. Essas referências o ajudarão a começar rapidamente.

Autor

A ordem da postagem em relação a outras postagens. Tyler Mitchell - Gerente sênior de marketing de produtos

Trabalha como Gerente Sênior de Marketing de Produto na Couchbase, ajudando a levar o conhecimento sobre os produtos para o centro das atenções do público e, ao mesmo tempo, apoiando nossas equipes de campo com conteúdo valioso. Sua paixão pessoal são todas as coisas geoespaciais, tendo trabalhado em GIS durante metade de sua carreira. Agora, a IA e a pesquisa vetorial estão em sua mente.

Posição vertical a partir do topo para iniciar o corte como uma porcentagem da altura da imagem.