Criar e gerenciar visualizações lógicas
No Bigtable, uma visualização lógica é o resultado de uma consulta SQL que funciona como uma tabela virtual que pode ser consultada por outras consultas SQL. Os dados permanecem na tabela de origem.
Este documento descreve as visualizações lógicas e como criar e realizar operações nelas. Para uma comparação com visualizações materializadas contínuas e autorizadas, consulte Tabelas e visualizações.
Com as visualizações lógicas, é possível fazer o seguinte com seus dados do Bigtable:
- Evite a repetição de consultas: é possível armazenar e desenvolver o mapeamento de colunas e a lógica de conversão em uma visualização lógica, que outras visualizações lógicas podem usar em vez de copiar e colar essa lógica ou precisar entendê-la.
- Integração com sistemas projetados para ler de bancos de dados relacionais: as visualizações lógicas permitem que os dados do Bigtable sejam lidos como uma tabela de banco de dados relacional ou do Cassandra.
- Executar a mesma visualização lógica em várias tabelas: ao modificar a cláusula
FROM
, é possível usar a mesma visualização para consultar qualquer tabela na sua instância do Bigtable. - Forneça uma interface consistente: seu aplicativo pode usar uma visualização lógica mesmo que a tabela de origem mude.
Uma visualização lógica é um recurso no nível da instância. É possível criar uma visualização lógica usando a Google Cloud CLI ou o editor de consultas do Bigtable Studio no console Google Cloud . Para consultar uma visualização lógica, use o editor de consultas do Bigtable Studio ou qualquer uma das bibliotecas de cliente do Bigtable que oferecem suporte a SQL.
Uma visualização lógica tem as seguintes características:
- É necessário usar recursos do SQL compatíveis com o GoogleSQL para Bigtable.
- Somente leitura
- Precisa ser lido com SQL em vez de uma chamada para
ReadRows
- Usa direitos de definidor. É possível consultar uma visualização lógica se você tiver permissões para ler dela, mesmo que não tenha permissão para ler da tabela de origem.
A chave de linha, o qualificador de coluna e os valores de coluna usados para definir uma visualização lógica são tratados como dados de serviço. Por isso, não crie uma visualização lógica usando chave de linha, qualificador de coluna ou valores de coluna que contenham informações sensíveis. Para informações sobre como os dados de serviço são tratados, consulte o Aviso de privacidade doGoogle Cloud .
Antes de começar
Siga estas etapas se você planeja usar a CLI gcloud:
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Funções exigidas
Para receber as permissões necessárias para criar e gerenciar visualizações lógicas,
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.logicalViews.create
- Atualizar:
bigtable.logicalViews.update
- Excluir:
bigtable.logicalViews.delete
- Lista:
bigtable.logicalViews.list
- Descreva:
bigtable.logicalViews.get
Para criar uma visualização lógica, você também precisa ter pelo menos a permissão bigtable.table.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 lógica
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.No editor de consultas, escreva 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 satisfeito com a consulta, clique em Salvar e escolha Salvar visualização.
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 lógica, use o comando
gcloud bigtable logical-views create
.
gcloud bigtable logical-views create VIEW \
--instance=INSTANCE --query=QUERY
Substitua:
VIEW
: um ID de até 128 caracteres para a nova visão lógica. O ID precisa ser exclusivo entre os IDs de tabela e de visualização na instância.QUERY
: uma consulta válida do GoogleSQL para Bigtable.INSTANCE
: o ID da instância em que a visualização lógica será criada.
Opcional:
- Para proteger a exclusão da visualização lógica, adicione a flag
--deletion-protection
ao comando. Se você não aplicar essa configuração, a visualização lógica poderá ser excluída. Para permitir explicitamente a exclusão da visualização lógica, basta anexar--no-deletion-protection
. Para mais informações, consulte a seção Modificar a proteção contra exclusão deste documento.
Atualizar uma visualização lógica
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 é mostrada no explorador.
Opcional: as primeiras 10 visualizações na instância são listadas. Para ver mais 10, clique em Mostrar mais.
Ao lado da visualização que você quer atualizar, clique no menu de ações more_vert e em Ver definição.
Modifique a consulta.
Clique em Executar.
Depois de verificar se o painel de resultados mostra os dados que devem ser incluídos na visualização, clique em Salvar como.
Na caixa de diálogo, insira o ID da visualização que você modificou.
A caixa de diálogo mostra uma mensagem avisando que você está substituindo a visualização atual.
Clique em Salvar.
gcloud
Para atualizar uma visualização lógica e executar uma consulta diferente, use o comando
gcloud bigtable logical-views update
.
gcloud bigtable logical-views update VIEW \
--instance=INSTANCE --query=QUERY
Substitua:
VIEW
: o ID da visualização lógica a ser atualizadaQUERY
: uma consulta válida do GoogleSQL.INSTANCE
: o ID da instância que contém a visualização lógica
Para atualizar uma visualização lógica e modificar a proteção contra exclusão, consulte a seção Modificar a proteção contra exclusão deste documento.
Excluir uma visualização lógica
Essa ação é permanente.
Não é possível excluir uma visualização lógica com a proteção contra exclusão ativada. Para excluir uma visualização lógica com a proteção contra exclusão ativada, atualize a visualização lógica para desativar a proteção contra exclusão. Para mais informações, consulte a seção Modificar a proteção contra exclusão deste documento.
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 é mostrada no explorador.
Opcional: as primeiras 10 visualizações na instância são listadas. Para ver mais 10, clique em Mostrar mais.
Expanda Visualizações.
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 lógica, use o comando
gcloud bigtable logical-views delete
.
gcloud bigtable logical-views delete VIEW \
--instance=INSTANCE
Substitua:
VIEW
: o ID da visualização lógica a ser atualizadaINSTANCE
: o ID da instância que contém a visualização lógica
Receber uma lista de visualizações lógicas para uma instância
É possível conferir uma lista de visualizações lógicas 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 é mostrada no explorador.
Opcional: as primeiras 10 visualizações na instância são listadas. Para ver mais 10, clique em Mostrar mais.
gcloud
Para ver uma lista de visualizações lógicas de uma instância, use o comando
gcloud bigtable logical-views list
.
gcloud bigtable logical-views list --instance=INSTANCE
Substitua INSTANCE
pelo ID da instância.
Descrever uma visualização lógica
Para conferir detalhes sobre uma visualização lógica, use o comando gcloud bigtable logical-views
describe
.
gcloud bigtable logical-views describe VIEW \
--instance=INSTANCE
O terminal mostra detalhes semelhantes a estes:
createTime: '2025-03-07T19:49:56.316578Z'
etag: W/"/v1/17919275593532352351"
name: projects/my-project/instances/my-instance/logicalViews/my-view
query: SELECT street FROM addresses
updateTime: '2025-03-07T19:49:56.316578Z'
deletion_protection: true
Mudar proteção contra exclusão
A proteção contra exclusão impede a exclusão da visualização lógica. Para ativar ou desativar a proteção contra exclusão de uma visualização lógica, você precisa das permissões necessárias. Para mais informações, consulte a seção Papéis necessários deste documento.
gcloud
Para ativar a proteção contra exclusão de uma visualização lógica, execute o comando
gcloud bigtable logical-views update
:
gcloud bigtable logical-views update VIEW \
--instance=INSTANCE \
--deletion-protection
Para desativar a proteção contra exclusão de uma visualização lógica, execute o seguinte comando:
gcloud bigtable logical-views update VIEW \
--instance=INSTANCE \
--no-deletion-protection
Substitua:
VIEW
: um ID de até 128 caracteres para a visualização lógica. O ID precisa ser exclusivo entre os IDs de tabela e visualização na instância.INSTANCE
: o ID da instância em que a visualização lógica será atualizada.
A seguir
- Visão geral do GoogleSQL para Bigtable
- Visualizações materializadas contínuas
- Visão geral das visualizações autorizadas