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:
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
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
Abra a lista de instâncias do Bigtable no console Google Cloud .
Selecione uma instância.
No painel de navegação, clique em Bigtable Studio.
Abra uma nova guia clicando em e escolhendo Editor.
Quando o editor de consultas aparecer, crie sua consulta. Se a consulta for SQL válida, uma mensagem Válida será exibida.
Opcional: para formatar sua instrução no estilo SQL, clique em Formatar.
Clique em Executar. Os resultados da consulta aparecem na tabela Resultados.
Quando estiver tudo certo com a consulta, clique na seta do botão Salvar como e escolha Salvar como visualização materializada.
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: étrueoufalse
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
Abra a lista de instâncias do Bigtable no console Google Cloud .
Selecione uma instância na lista.
No painel de navegação, clique em Bigtable Studio.
Expanda Visualizações materializadas.
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 excluirINSTANCE: 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
Abra a lista de instâncias do Bigtable no console Google Cloud .
Selecione uma instância na lista.
No painel de navegação, clique em Bigtable Studio. Uma lista de visualizações materializadas contínuas é exibida.
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.