Introdução às visualizações lógicas

Este documento fornece uma visão geral do suporte do BigQuery para visualizações lógicas.

Visão geral

Uma visualização é uma tabela virtual definida por uma consulta SQL. O tipo de visualização padrão do BigQuery é uma visualização lógica. Os resultados contêm apenas os dados das tabelas e dos campos especificados na consulta que define a visualização.

A consulta que define uma visualização é executada sempre que ela é consultada.

Tipos de visualizações

Embora as visualizações lógicas sejam o tipo padrão, se você consultar com frequência uma visualização grande ou computacionalmente cara, considere criar uma visualização materializada, que é uma visualização pré-computada que armazena em cache periodicamente os resultados de uma consulta para aumentar o desempenho e a eficiência.

No entanto, muitas vezes é possível melhorar o desempenho de uma visualização lógica sem a necessidade de criar uma visualização materializada consultando apenas um subconjunto dos dados ou usando outras técnicas.

Também é possível criar uma visualização autorizada para compartilhar um subconjunto de dados de um conjunto de dados de origem com uma visualização em um conjunto de dados secundário. Em seguida, você pode compartilhar essa visualização com usuários e grupos específicos (principais), que podem acessar os dados compartilhados e executar consultas neles, mas não podem acessar o conjunto de dados de origem diretamente.

É possível criar uma visualização autorizada para uma visualização lógica ou materializada. Uma visualização autorizada para uma visualização materializada é chamada de visualização materializada autorizada.

Casos de uso

Os casos de uso comuns para visualizações incluem:

  • Forneça um nome facilmente reutilizável para uma consulta complexa ou um conjunto limitado de dados que pode autorizar o acesso de outros usuários. Depois de criar uma visualização, o usuário pode consultar a visualização como faria em uma tabela.
  • Abstrair e armazenar o cálculo e a lógica de mesclagem em um objeto comum para simplificar o uso da consulta.
  • Fornecer acesso a um subconjunto de dados e lógica de cálculo sem fornecer acesso às tabelas base.
  • Otimize consultas com alto custo computacional e pequenos resultados de conjunto de dados para vários casos de uso.

Você também pode usar visualizações em outros contextos:

Comparação com visualizações materializadas

As visualizações lógicas são virtuais e fornecem uma referência reutilizável a um conjunto de dados, mas não armazenam dados fisicamente. As visualizações materializadas são definidas usando SQL, como uma visualização lógica, mas armazenam fisicamente os dados que o BigQuery usa para melhorar o desempenho. Para conferir mais comparações, consulte recursos de visualizações materializadas.

Limitações das visualizações lógicas

As visualizações do BigQuery estão sujeitas às seguintes limitações:

  • As visualizações são somente leitura. Por exemplo, não é possível executar consultas que inserem, atualizam ou excluem dados.
  • O conjunto de dados que contém a visualização precisa estar no mesmo local que o conjunto de dados que contém as tabelas referenciadas pela visualização.
  • Uma referência dentro de uma visualização precisa ser qualificada com um conjunto de dados. O conjunto de dados padrão não afeta o corpo de uma visualização.
  • Não é possível usar o método de API JSON TableDataList para recuperar dados de uma visualização. Para mais informações, consulte Tabledata: list.
  • Não é possível mesclar consultas do GoogleSQL e do SQL legado ao usar visualizações. Uma consulta do GoogleSQL não pode indicar uma visualização definida usando a sintaxe do SQL legado.
  • Não é possível fazer referência a parâmetros de consulta em visualizações.
  • Os esquemas das tabelas subjacentes são armazenados com a visualização quando ela é criada. Se colunas forem adicionadas, excluídas ou modificadas depois que a visualização for for criado, a visualização não será atualizada automaticamente, e o esquema informado permanecerão imprecisas até que a definição do SQL da visualização seja alterada ou que a visualização é recriada. Apesar dessa imprecisão, todas as consultas enviadas terão resultados precisos.
  • Não é possível atualizar automaticamente uma visualização de SQL legada para a sintaxe GoogleSQL. Para modificar a consulta usada para definir uma visualização, use o seguinte:
  • Não é possível incluir uma função definida pelo usuário temporária ou uma tabela temporária na consulta SQL que define uma visualização.
  • Não é possível referenciar uma visualização em consultas a uma tabela curinga.

Cotas de visualizações lógicas

Para informações sobre cotas e limites que se aplicam a visualizações, consulte Limites da visualização.

As consultas SQL usadas para definir visualizações estão sujeitas aos jobs de consulta padrão.

Preços de visualizações lógicas

O BigQuery usa visualizações lógicas por padrão, não visualizações materializadas. Como as visualizações não são materializadas por padrão, a consulta que define a visualização é executada sempre que ela é consultada. As consultas são faturadas de acordo com a quantidade total de dados em todos os campos da tabela referenciados direta ou indiretamente pela consulta de nível superior.

Segurança das visualizações lógicas

Para controlar o acesso a visualizações no BigQuery, consulte Visualizações autorizadas.

A seguir