Obtenha estatísticas de consultas

Esta página descreve como obter estatísticas de consultas através da CLI cbt . Também pode obter estatísticas de consultas através da biblioteca cliente Go para o Cloud Bigtable.

O conteúdo aqui disponibilizado destina-se a programadores de aplicações. Antes de ler esta página, deve compreender o modelo de armazenamento do Bigtable. Também deve conhecer as práticas recomendadas de design de esquemas e compreender o desempenho.

A capacidade de obter informações sobre uma consulta do Bigtable pode ser útil quando está a desenvolver uma aplicação. Permite-lhe obter dados sobre o desempenho de uma consulta e, em seguida, ajustar a consulta ou alterar a estrutura do esquema para otimizar o desempenho da consulta.

Embora, em geral, uma consulta seja qualquer pedido de dados enviado para uma tabela, o Bigtable devolve estatísticas de consultas apenas para pedidos de leitura.

Antes de começar

  1. Se ainda não instalou a CLI cbt , siga as instruções na vista geral da CLI cbt incluindo os passos para criar um ficheiro .cbtrc.
  2. Reveja a secção Ler linhas do cbt CLI para se familiarizar com a sintaxe da linha de comandos e as opções disponíveis para enviar um pedido cbt read para a sua tabela. Tenha em atenção que a cbt CLI não suporta filtros.
  3. Certifique-se de que tem autorização bigtable.tables.readRows para a tabela ou que é um principal da função bigtable.reader.

Execute a consulta

  1. Crie uma consulta com a sintaxe para Ler linhas.

  2. Execute o seguinte comando. O parâmetro include-stats=full indica ao Bigtable que deve devolver as estatísticas de consulta.

    cbt read TABLE_ID QUERY include-stats=full
    

    Substitua o seguinte:

    • TABLE_ID: o ID exclusivo da tabela que está a consultar
    • QUERY: uma consulta formatada em cbtCLI

    O terminal apresenta os dados que foram lidos e uma lista com as seguintes estatísticas:

    • rows_seen_count: o número de linhas que o Bigtable processou para o pedido
    • rows_returned_count: o número de linhas devolvidas após a aplicação de filtros
    • cells_seen_count: o número de células processadas para o pedido
    • cells_returned_count: o número de células devolvidas após a aplicação de filtros
    • frontend_server_latency: latência do pedido medida a partir do conjunto de servidores front-end do Bigtable, expressa em milissegundos

Interpretação dos resultados

  • Analise a relação entre as células vistas e as células devolvidas. Se o quociente de cells_seen_count / cells_returned_count for 1 ou próximo de 1, isso é um indício de que a sua consulta não fez com que o Bigtable processasse dados que foram, em última análise, filtrados.

  • Considere o número de linhas devolvidas. Quanto mais elevado for esse número, mais trabalho o Bigtable está a fazer. O número ideal aqui depende do seu exemplo de utilização e dos requisitos de latência, mas, em geral, uma consulta que devolva menos linhas terá uma latência inferior.

Exemplo

Se quiser obter estatísticas de consultas quando lê todas as linhas que correspondem à expressão regular orange:*.* numa tabela denominada my-table, pode executar o seguinte:

cbt read my-table regex='.*orange' columns='.*:.*' include-stats=full

O resultado é semelhante ao seguinte:

  ----------------------------------------
  orange
    Details:Color                            @ 2022/09/26-14:48:01.286000
      "orange"
    Details:Size                             @ 2022/09/26-14:48:01.286000
      "medium"

  Request Stats
  ====================
  rows_seen_count: 10
  rows_returned_count : 1
  cells_seen_count: 2
  cells_returned_count: 2
  frontend_server_latency: 13ms

O que se segue?