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 visualizações lógicas e como criar e realizar operações com elas. Para comparar visualizações materializadas e autorizadas, consulte Tabelas e visualizações.

Com as visualizações lógicas, você pode fazer o seguinte com seus dados do Bigtable:

  • Evitar a repetição de consultas: é possível armazenar e evoluir a lógica de cast e mapeamento de colunas 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 leitura 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.
  • Fornecer 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 CLI do Google Cloud ou o editor de consulta do Bigtable Studio no console do Google Cloud. Para consultar uma visualização lógica, use o editor de consulta 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 SQL com suporte do GoogleSQL para Bigtable
  • Somente leitura
  • Precisa ser lido com SQL em vez de uma chamada para ReadRows
  • Usa direitos de definição. É 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.

Antes de começar

Siga estas etapas se você planeja usar a CLI gcloud:

  1. Install the Google Cloud CLI.
  2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  3. 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: roles/bigtable.logicalViews.delete
  • Lista: bigtable.logicalViews.list
  • Descrição: 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

  1. Abra a lista de instâncias do Bigtable no Console do Google Cloud.

    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 em seguida em Editor.

    1. No editor de consultas, escreva sua consulta. Se a consulta for SQL válida, uma mensagem Valid será exibida.

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

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

    4. 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 usando 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 visualização. 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 será criada

Atualizar uma visualização lógica

Console

  1. Abra a lista de instâncias do Bigtable no Console do Google Cloud.

    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 é mostrada no explorador.

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

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

  6. Modifique a consulta.

  7. Clique em Executar.

  8. Depois de verificar que o painel de resultados mostra os dados que precisam ser incluídos na visualização, clique em Salvar como.

  9. Na caixa de diálogo, insira o ID da visualização que você modificou.

    A caixa de diálogo mostra uma mensagem alertando que você está substituindo a visualização atual.

  10. 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 atualizada
  • QUERY: uma consulta válida do GoogleSQL.
  • INSTANCE: o ID da instância que contém a visualização lógica.

Excluir uma visualização lógica

Essa ação é permanente. 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 atualizada
  • INSTANCE: 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

Você pode conferir uma lista de visualizações lógicas para uma instância.

Console

  1. Abra a lista de instâncias do Bigtable no Console do Google Cloud.

    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 é mostrada no explorador.

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

gcloud

Para conferir 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'

A seguir