Criar e gerenciar visualizações materializadas contínuas

Neste documento, descrevemos como criar e realizar operações em uma visualização materializada contínua no Bigtable. Antes de ler este documento, confira a visão geral em Visualizações materializadas contínuas.

É possível criar uma visualização materializada contínua usando a Google Cloud CLI, o editor de consultas do Bigtable Studio no console do Google Cloud ou as bibliotecas de cliente do Bigtable para Java e Go.

Antes de começar

Se você planeja usar a CLI gcloud, siga estas etapas:

  1. Instale a CLI do Google Cloud.

  2. Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

  3. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init

Se a CLI gcloud retornar uma mensagem Method not found, execute o comando gcloud auth login novamente.

Funções exigidas

Para receber as permissões necessárias para criar e gerenciar visualizações materializadas contínuas, peça ao administrador para conceder a você o papel de Administrador do Bigtable (roles/bigtable.admin) na instância. Caso contrário, peça as seguintes permissões no nível da instância, dependendo da operação que você quer realizar:

  • Criar: bigtable.materializedViews.create
  • Atualizar: bigtable.materializedViews.update
  • Excluir: bigtable.materializedViews.delete
  • Lista: bigtable.materializedViews.list

Para criar uma visualização materializada contínua, você também precisa ter pelo menos a permissão bigtable.tables.readRows na tabela de origem.

Para conferir todos os papéis e permissões disponíveis, consulte Controle de acesso do Bigtable com o IAM.

Criar uma visualização materializada contínua

Antes de criar uma visualização materializada contínua, faça o seguinte:

  • Opcional: como prática recomendada, ative o escalonamento automático para clusters na sua instância. Assim, eles poderão ser escalonar verticalmente, se necessário, enquanto o Bigtable processa e sincroniza a visualização materializada contínua e lida com qualquer uso do armazenamento adicional.
  • Opcional: decida se você quer que a visualização materializada contínua esteja disponível em todos os clusters ou se quer isolar o processamento e a disponibilidade de consultas em um único cluster. Para mais informações, consulte Funções SQL não deterministas.
  • Identifique uma tabela do Bigtable que você tenha permissão para ler e usar como origem da visualização materializada contínua.
  • Prepare a consulta SQL que define sua visualização materializada contínua. Para requisitos de consulta, consulte Consultas de visualização materializada contínua.

Console

  1. No console do Google Cloud , abra a lista de instâncias do Bigtable.

    Abrir a lista de instâncias

  2. Selecione uma instância.

  3. No painel de navegação, clique em Bigtable Studio.

  4. Abra uma nova guia clicando em e escolhendo Editor.

    1. Quando o editor de consultas aparecer, crie sua consulta. Se a consulta for SQL válida, uma mensagem Válida será exibida.

    2. Opcional: para formatar sua instrução no estilo SQL, clique em Formatar.

    3. Clique em Executar. Os resultados da consulta aparecem na tabela Resultados.

    4. Quando estiver tudo certo com a consulta, clique na seta do botão Salvar como e escolha Salvar como visualização materializada.

  5. Na caixa de diálogo Salvar visualização materializada, insira um nome para a visualização e clique em Salvar.

    Para mais informações sobre como usar o editor de consultas, consulte Gerenciar seus dados com o Bigtable Studio.

gcloud

Para criar uma visualização materializada contínua, use o comando gcloud bigtable materialized-views create:

    gcloud bigtable materialized-views create VIEW \
            --instance=INSTANCE --query=QUERY

Substitua:

  • VIEW: um identificador exclusivo da visualização materializada contínua. Use esse ID como o ID da tabela ao consultar a visualização materializada contínua.
  • INSTANCE: o identificador da instância em que a visualização materializada contínua será criada. Precisa ser a mesma instância da tabela de origem.
  • QUERY: uma instrução SQL válida que define a visualização materializada contínua.

Opcional: ativar a proteção contra exclusão

Para ativar a proteção contra exclusão da visualização materializada contínua, adicione o comando com --deletion-protection=DELETION_PROTECTION. Substitua DELETION_PROTECTION por true ou false.

Opcional: criar uma visualização isolada para um único cluster

Por padrão, o Bigtable replica uma visualização materializada contínua em todos os clusters de uma instância. Para manter uma visualização apenas em um cluster específico, defina a visualização com CLUSTER_ATTRIBUTE e transmita a flag --ignore-warnings:

gcloud bigtable materialized-views create VIEW \
  --instance=INSTANCE \
  --query="SELECT ... WHERE CLUSTER_ATTRIBUTE('cluster_id') = 'CLUSTER_ID'" \
  --ignore-warnings

Substitua:

  • VIEW: um identificador exclusivo da visualização materializada contínua. Use esse ID como o ID da tabela ao consultar a visualização materializada contínua.
  • INSTANCE: o identificador da instância em que a visualização materializada contínua será criada. Precisa ser a mesma instância da tabela de origem.
  • CLUSTER_ID: o identificador do cluster em que você quer manter a visualização.

Como CLUSTER_ATTRIBUTE produz resultados diferentes em clusters, inclua a flag --ignore-warnings para reconhecer as diferenças. Para mais informações sobre a sintaxe e os requisitos de consulta, consulte Isolar uma visualização em um único cluster.

Consultar uma visualização materializada contínua

Depois que uma visualização materializada contínua é ativada, você pode consultá-la como qualquer outra tabela usando o Bigtable Studio no console do Google Cloud ou as bibliotecas de cliente compatíveis. Para mais informações sobre a sintaxe e os requisitos de consulta, consulte Consultas de visualização materializada contínua.

Para testar e consultar uma visualização antes da conclusão do preenchimento inicial, use a dica de consulta @{allow_incomplete_view=true}. Para mais informações, consulte Ler dados durante o preenchimento inicial.

Atualizar uma visualização materializada contínua

É possível atualizar a proteção contra exclusão de uma visualização materializada contínua. Não é possível atualizar a consulta SQL que define uma visualização materializada contínua. Se precisar modificar a consulta, exclua a visualização materializada contínua e crie uma nova que inclua suas mudanças.

Console

Não é possível atualizar uma visualização materializada contínua no console. Em vez disso, use a CLI gcloud.

gcloud

Para ativar ou desativar a proteção contra exclusão em uma visualização materializada contínua, use o comando gcloud bigtable materialized-views update.

gcloud bigtable materialized-views update VIEW \
        --instance=INSTANCE --deletion-protection=DELETION_PROTECTION

Substitua:

  • VIEW: o identificador exclusivo da visualização materializada contínua que você quer atualizar.
  • INSTANCE: o identificador da instância que contém a visualização materializada contínua.
  • DELETION_PROTECTION: é true ou false

Excluir uma visualização materializada contínua

É possível excluir uma visualização materializada contínua que não tenha a proteção contra exclusão ativada. Não é possível desfazer essa operação.

Console

  1. No console do Google Cloud , abra a lista de instâncias do Bigtable.

    Abrir a lista de instâncias

  2. Selecione uma instância na lista.

  3. No painel de navegação, clique em Bigtable Studio.

  4. Expanda Visualizações materializadas.

  5. Ao lado da visualização que você quer excluir, clique no menu de ações more_vert e depois em Excluir.

gcloud

Para excluir uma visualização materializada contínua, use o comando gcloud bigtable materialized-views delete:

gcloud bigtable materialized-views delete VIEW \
      --instance=INSTANCE

Substitua:

  • VIEW: o identificador exclusivo da visualização materializada contínua que você quer excluir
  • INSTANCE: o identificador da instância que contém a visualização materializada contínua.

Receber uma lista de visualizações materializadas contínuas

É possível conferir uma lista de visualizações materializadas contínuas de uma instância.

Console

  1. No console do Google Cloud , abra a lista de instâncias do Bigtable.

    Abrir a lista de instâncias

  2. Selecione uma instância na lista.

  3. No painel de navegação, clique em Bigtable Studio. Uma lista de visualizações materializadas contínuas é exibida.

  4. Opcional: as primeiras 10 visualizações na instância são listadas. Para ver mais 10, clique em Mostrar mais.

gcloud

Para listar todas as visualizações materializadas contínuas de uma instância, use o comando gcloud bigtable materialized-views list.

gcloud bigtable materialized-views list --instance=INSTANCE

Substitua INSTANCE pelo ID da instância.

A seguir