Introdução às vistas lógicas

Este documento oferece uma vista geral do apoio técnico do BigQuery para visualizações lógicas.

Vista geral

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

A consulta que define uma vista é executada sempre que a vista é consultada.

Tipos de visualizações

Embora as visualizações lógicas sejam o tipo de visualização predefinido, se consultar frequentemente uma visualização grande ou com custos de computação elevados, deve considerar criar uma visualização materializada, que é uma visualização pré-calculada que armazena periodicamente em cache os resultados de uma consulta para aumentar o desempenho e a eficiência.

No entanto, muitas vezes, pode melhorar o desempenho de uma vista lógica sem ter de criar uma vista materializada consultando apenas um subconjunto dos seus dados ou usando outras técnicas.

Também pode criar uma vista autorizada para partilhar um subconjunto de dados de um conjunto de dados de origem para uma vista num conjunto de dados secundário. Em seguida, pode partilhar esta vista com utilizadores e grupos específicos (diretores) que podem ver os dados que partilha e executar consultas sobre eles, mas que não podem aceder diretamente ao conjunto de dados de origem.

Pode criar uma vista autorizada para uma vista lógica ou materializada. Uma vista autorizada para uma vista materializada denomina-se vista materializada autorizada.

Exemplos de utilização

Seguem-se alguns exemplos de utilização comuns para as vistas:

  • Fornecer um nome facilmente reutilizável para uma consulta complexa ou um conjunto limitado de dados ao qual pode autorizar outros utilizadores a acederem. Depois de criar uma visualização de propriedade, um utilizador pode consultar a visualização de propriedade como faria com uma tabela.
  • Abstraia e armazene a lógica de cálculo e junção num objeto comum para simplificar a utilização de consultas.
  • Conceder acesso a um subconjunto de dados e lógica de cálculo sem conceder acesso às tabelas base.
  • Otimize as consultas com um custo de computação elevado e resultados de conjuntos de dados pequenos para vários exemplos de utilização.

Também pode usar as vistas noutros contextos:

Comparação com vistas materializadas

As vistas lógicas são virtuais e fornecem uma referência reutilizável a um conjunto de dados, mas não armazenam fisicamente dados. As vistas materializadas são definidas através de SQL, como uma vista lógica, mas armazenam fisicamente os dados que o BigQuery usa para melhorar o desempenho. Para uma comparação mais detalhada, consulte as funcionalidades das vistas materializadas.

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

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

  • As vistas são só de leitura. Por exemplo, não pode executar consultas que insiram, atualizem ou eliminem dados.
  • O conjunto de dados que contém a sua vista e o conjunto de dados que contém as tabelas referenciadas pela vista têm de estar na mesma localização.
  • Uma referência dentro de uma vista tem de ser qualificada com um conjunto de dados. O conjunto de dados predefinido não afeta o corpo de uma vista.
  • Não pode usar o método da API JSON TableDataList para obter dados de uma vista. Para mais informações, consulte o artigo Tabledata: list.
  • Não pode misturar consultas GoogleSQL e SQL antigo quando usa vistas. Uma consulta GoogleSQL não pode fazer referência a uma vista definida através da sintaxe SQL antiga.
  • Não pode fazer referência a parâmetros de consulta em visualizações de propriedade.
  • Os esquemas das tabelas subjacentes são armazenados com a vista quando esta é criada. Se forem adicionadas, eliminadas ou modificadas colunas após a criação da vista, a vista não é atualizada automaticamente e o esquema comunicado permanece impreciso até que a definição SQL da vista seja alterada ou a vista seja recriada. Embora o esquema comunicado possa ser impreciso, todas as consultas enviadas produzem resultados precisos.
  • Não pode atualizar automaticamente uma visualização de SQL antiga para a sintaxe do GoogleSQL. Para modificar a consulta usada para definir uma vista, pode usar o seguinte:
  • Não pode incluir uma função definida pelo utilizador temporária nem uma tabela temporária na consulta SQL que define uma vista.
  • Não pode fazer referência a uma vista numa consulta de tabela com carateres universais.

Quotas de visualizações lógicas

Para informações sobre as quotas e os limites aplicáveis às visualizações, consulte o artigo Limites de visualização.

As consultas SQL usadas para definir vistas também estão sujeitas às quotas em tarefas de consulta.

Preços de visualizações lógicas

Por predefinição, o BigQuery usa vistas lógicas e não vistas materializadas. Uma vez que as vistas não são materializadas por predefinição, a consulta que define a vista é executada sempre que a vista é consultada. As consultas são faturadas de acordo com o valor total de dados em todos os campos da tabela referenciados direta ou indiretamente pela consulta de nível superior.

Segurança das vistas lógicas

Para controlar o acesso a vistas no BigQuery, consulte o artigo Vistas autorizadas.

O que se segue?