Ver as estatísticas da consulta

Nesta página, descrevemos como receber estatísticas de consulta usando a CLI cbt . Também é possível ver as estatísticas da consulta usando a biblioteca de cliente Go para o Cloud Bigtable.

O conteúdo fornecido aqui é destinado a desenvolvedores de apps. Antes de ler esta página, é preciso entender o modelo de armazenamento do Bigtable. Também é necessário conhecer as práticas recomendadas de design de esquema e entender o desempenho.

A capacidade de receber informações sobre uma consulta do Bigtable pode ser útil quando você está desenvolvendo um aplicativo. Isso permite que você veja dados sobre o desempenho de uma consulta e, em seguida, ajuste a consulta ou altere o design do esquema para ajustar o desempenho da consulta.

Em geral, uma consulta é qualquer solicitação de dados enviada para uma tabela, mas o Bigtable retorna estatísticas de consulta apenas para solicitações de leitura.

Antes de começar

  1. Se você ainda não instalou a CLI cbt, siga as instruções na visão geral da CLI cbt, incluindo as etapas para criar um arquivo .cbtrc.
  2. Consulte a seção Ler linhas da referência da CLI cbt para conhecer a sintaxe de linha de comando e as opções disponíveis para enviar uma solicitação cbt read para a tabela. A CLI cbt não é compatível com filtros.
  3. Verifique se você tem a permissão bigtable.tables.readRows para a tabela ou que é a principal do papel bigtable.reader.

Executar a consulta

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

  2. Execute o comando a seguir. O parâmetro include-stats=full diz ao Bigtable para retornar as estatísticas da consulta.

    cbt read TABLE_ID QUERY include-stats=full
    

    Substitua:

    • TABLE_ID: o ID exclusivo da tabela que você está consultando.
    • QUERY: uma consulta formatada em CLI cbt

    O terminal exibe os dados que foram lidos e uma lista que contém as seguintes estatísticas:

    • rows_seen_count: o número de linhas que o Bigtable processou na solicitação.
    • rows_returned_count: o número de linhas retornadas após a aplicação de filtros.
    • cells_seen_count: o número de células processadas na solicitação.
    • cells_returned_count: o número de células retornadas após a aplicação de filtros.
    • frontend_server_latency: latência da solicitação medida pelo pool de servidores de front-end do Bigtable, expressa em milissegundos.

Interprete os resultados

  • Veja a proporção de células vistas em relação às células retornadas. Se o quociente de cells_seen_count / cells_returned_count for 1 ou próximo de 1, isso é uma indicação de que a consulta não fez com que o Bigtable processe dados que foram filtrados.

  • Considere o número de linhas retornadas. Quanto maior esse número, mais trabalho o Bigtable está fazendo. O número ideal aqui depende do caso de uso e dos requisitos de latência. Porém, em geral, uma consulta que retorna menos linhas terá uma latência menor.

Exemplo

Se você quiser receber estatísticas de consulta ao ler todas as linhas que correspondem à expressão regular orange:*.* em uma tabela chamada my-table, execute o seguinte:

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

O resultado será assim:

  ----------------------------------------
  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

A seguir