Visão geral das visualizações lógicas e materializadas
Este documento descreve e compara visualizações lógicas e materializadas no BigQuery. No armazenamento em data warehouse moderno, as visualizações servem como uma importante camada de abstração entre dados brutos e Business Intelligence. No BigQuery, os arquitetos geralmente escolhem entre dois tipos: visualizações lógicas (padrão) e materializadas. Embora essas visualizações compartilhem uma interface comum, as mecânicas, os perfis de performance e as implicações de custo subjacentes são diferentes.
Visualizações lógicas
Uma visualização lógica (padrão) é uma tabela virtual definida por uma consulta SQL. Ela não armazena dados físicos. Em vez disso, armazena a lógica de consulta necessária para recuperar dados das tabelas de base subjacentes.
Quando você consulta uma visualização lógica, o mecanismo de consultas do BigQuery expande a visualização na consulta subjacente. Isso significa que o BigQuery reexecuta a visualização sempre que ela é chamada.
Os benefícios das visualizações lógicas incluem:
- Sem sobrecarga de armazenamento. Como nenhum dado adicional é armazenado, você paga apenas pelo armazenamento das tabelas de base.
- Precisão em tempo real. Como a consulta é executada no momento da execução, os resultados sempre refletem o estado mais atual das tabelas de base.
- Abstração lógica. Simplifica junções complexas ou aplica segurança no nível da linha sem duplicar dados.
- Flexibilidade do SQL. Compatível com toda a gama de SQL do BigQuery, incluindo funções de janela complexas, funções definidas pelo usuário (UDFs) e todos os tipos de junção.
Visualizações materializadas.
As visualizações materializadas são pré-calculadas e armazenam periodicamente os resultados de uma consulta SQL. Ao contrário das visualizações lógicas, elas armazenam fisicamente os dados calculados, o que permite que o BigQuery forneça resultados mais rapidamente sem processar repetidamente os dados brutos da base. Isso pode reduzir a latência de consultas para grandes conjuntos de dados ao pré-processar consultas e diminuir os custos de computação para consultas usadas com frequência.
As visualizações materializadas do BigQuery combinam a velocidade dos dados pré-calculados com a precisão de uma visualização dinâmica. Para isso, elas fazem o seguinte:
- Atualização automática. Um processo em segundo plano atualiza as visualizações materializadas quando as tabelas base são alteradas.
- Atualização de dados. Se uma consulta ocorrer enquanto uma atualização em segundo plano estiver pendente, o BigQuery vai compensar automaticamente as mudanças não processadas na tabela de base para fornecer resultados atualizados.
- Ajuste inteligente. O otimizador de consultas pode redirecionar automaticamente consultas de tabelas de base para a visualização materializada se determinar que ela pode fornecer a resposta de maneira mais eficiente.
Comparação
A tabela a seguir resume as semelhanças e diferenças entre as visualizações lógicas e materializadas do BigQuery:
| Dimensão | Visualização lógica | Visualização materializada |
|---|---|---|
| Persistência de dados | Nenhuma (virtual) | Físico (armazenado em disco) |
| Execução | Sempre que a visualização é chamada | Pré-calculado; atualização em segundo plano |
| Defasagem de dados | Nunca | Opcional 1 (por atualização) |
| Desempenho | Variável (dependente da tabela de base) | Consistente e rápido |
| Complexidade do SQL | Ilimitado | Limitado |
| Otimizado para | Segurança e abstração | Redução de velocidade e custos |
| Custos de manutenção e armazenamento | Não | Sim |
1 A opção --max_staleness
melhora o desempenho das consultas com custos controlados ao processar grandes conjuntos de dados que mudam com frequência.
Quando usar visualizações lógicas
- Camadas semânticas. Renomeie nomes de colunas complexos para termos mais fáceis de entender para usuários sem conhecimento técnico.
- Desenvolvimento rápido. Use quando a lógica estiver em fluxo e você não quiser gerenciar a sobrecarga do armazenamento físico.
- Fontes de dados consolidadas. Fornecer uma fonte de dados para ferramentas de visualização, como o Looker Studio ou o compartilhamento do BigQuery (antigo Analytics Hub).
Quando usar visualizações materializadas
- Pré-processar dados. Melhore o desempenho da consulta preparando agregações, filtros, junções e clusters.
- Aceleração de painéis. Capacite ferramentas de BI, como o Looker, que consultam com frequência as mesmas métricas agregadas, por exemplo, usuários ativos diários.
- Análise em tempo real de grandes streams. Pode fornecer respostas mais rápidas em tabelas que recebem dados de streaming de alta velocidade.
- Gerenciamento de custo. Reduzir o custo de consultas repetitivas e caras em grandes conjuntos de dados.
Práticas recomendadas
Para um ambiente do BigQuery bem arquitetado, as visualizações lógicas são uma ferramenta útil para consolidar os dados necessários. Reserve visualizações materializadas para usar como uma ferramenta de otimização de desempenho para padrões de consulta específicos e de alto tráfego que envolvem agregação pesada.
Para saber como monitorar o uso e o desempenho das visualizações materializadas, consulte a visualização MATERIALIZED_VIEWS.
A seguir
- Introdução às visualizações lógicas
- Criar visualizações lógicas
- Introdução às visualizações materializadas
- Criar visualizações materializadas