Visões materializadas automatizadas
Este tópico descreve como o Amazon Redshift usa visões materializadas automatizadas para melhorar a performance. O Amazon Redshift cria visões materializadas automaticamente com base na atividade e na performance do banco de dados. O Amazon Redshift usa visões materializadas automatizadas por padrão.
As visões materializadas são uma ferramenta poderosa para melhorar a performance da consulta no Amazon Redshift. Elas fazem isso armazenando um conjunto de resultados pré-calculado. Consultas semelhantes não precisam executar novamente a mesma lógica toda vez, pois elas podem recuperar registros do conjunto de resultados existente. Desenvolvedores e analistas criam visões materializadas depois de analisar suas workloads para determinar quais consultas trariam benefício e se o custo de manutenção de cada visualização materializada vale a pena. À medida que as workloads aumentam ou são alteradas, essas exibições materializadas precisam ser revisadas para garantir que continuem a fornecer benefícios de performance tangíveis.
O recurso de visões materializadas automatizadas (AutoMV) no Redshift oferece os mesmos benefícios de performance das visões materializadas criadas pelo usuário. O Amazon Redshift monitora continuamente a workload usando machine learning e cria visões materializadas quando são benéficas. A AutoMV equilibra os custos de criação e atualização de exibições materializadas em relação aos benefícios esperados para a latência da consulta. O sistema também monitora as AutoMVs criadas anteriormente e as descarta quando não são mais benéficas.
O comportamento e os recursos da AutoMV são os mesmos que as visões materializadas criadas pelo usuário. São atualizadas automaticamente e incrementalmente, usando os mesmos critérios e restrições. Assim como as visões materializadas criadas pelo usuário, o Regravação automática de consulta para usar visões materializadas identifica consultas que podem se beneficiar das AutoMVs criadas pelo sistema. Ele regrava automaticamente essas consultas para usar o AutoMVS, melhorando a performance da consulta. Os desenvolvedores não precisam revisar as consultas para aproveitar a AutoMV.
nota
As visões materializadas automatizadas são atualizadas de forma intermitente. As consultas regravadas para usar o AutoMV sempre retornam os resultados mais recentes. Quando o Redshift detecta que os dados não estão atualizados, as consultas não são regravadas para serem lidas de visões materializadas automatizadas. Em vez disso, as consultas selecionam os dados mais recentes das tabelas de base.
Qualquer workload com consultas usadas repetidamente pode se beneficiar da AutoMV. Entre os casos de uso comuns estão:
Painéis: os painéis são bastante utilizados para fornecer visualizações rápidas dos principais indicadores de negócios (KPIs), eventos, tendências e outras métricas. Geralmente apresentam um layout comum com gráficos e tabelas, mas mostram diferentes visualizações para filtragem ou para operações de seleção de dimensões, como busca detalhada para baixo. Os painéis muitas vezes têm um conjunto comum de consultas usadas repetidamente com parâmetros diferentes. As consultas de painel podem se beneficiar muito de visões materializadas automatizadas.
-
Relatórios: as consultas de relatórios podem ser programadas em várias frequências, com base nos requisitos de negócios e no tipo de relatório. Além disso, podem ser automatizadas ou sob demanda. Uma característica comum das consultas de relatórios é que elas podem ser de longa duração e uso intensivo de recursos. Com a AutoMV, essas consultas não precisam ser recalculadas sempre que forem executadas, o que reduz o ambiente de tempo de execução para cada consulta e utilização de recursos no Redshift.
Para desativar as visões materializadas automatizadas, atualize o grupo de parâmetros auto_mv
para false
. Para obter mais informações, consulte Grupos de parâmetros do Amazon Redshift no Guia de gerenciamento de clusters do Amazon Redshift.
Escopo e considerações de SQL para visões materializadas automatizadas
Uma visão materializada automática pode ser iniciada e criada por uma consulta ou subconsulta, desde que contenha uma cláusula
GROUP BY
ou uma das seguintes funções agregadas: SUM, COUNT, MIN, MAX ou AVG. No entanto, ela não pode conter nenhum destes itens:Esquerda, direita ou junções externas completas
Funções agregadas, como SUM, COUNT, MIN, MAX e AVG. (Essas funções específicas funcionam com a regravação de consulta automática.)
Qualquer função agregada que inclua DISTINCT.
Todas as funções da janela
Cláusulas SELECT DISTINCT ou HAVING
Outras visões materializadas
Não é garantido que uma consulta que atenda aos critérios iniciará a criação de uma visão materializada automática. O sistema determina de quais candidatos se deve criar uma visão, com base no benefício esperado para a workload e no custo dos recursos a serem mantidos, o que inclui o custo de atualização do sistema. Cada visão materializada resultante é utilizável pela regravação de consulta automática.
Mesmo que a AutoMV possa ser iniciada por uma subconsulta ou trechos individuais de operadores de conjunto, a visão materializada resultante não conterá subconsultas nem operadores de conjunto.
Para determinar se a AutoMV foi usada para consultas, veja o plano EXPLAIN e procure
%_auto_mv_%
na saída. Para obter mais informações, consulte EXPLAIN.As visões materializadas automatizadas não são compatíveis em tabelas externas, como unidades de compartilhamento de dados e tabelas federadas.
Limitações das visões materializadas automatizadas
Veja a seguir as limitações para trabalhar com visões materializadas:
Número máximo de AutoMVs: o limite de visões materializadas automatizadas é 200 por banco de dados no cluster.
Espaço e capacidade de armazenamento: uma característica importante da AutoMV é que ela é executada usando ciclos de fundo sobressalentes para ajudar a garantir que as workloads do usuário não sejam afetadas. Se o cluster estiver ocupado ou ficar sem espaço de armazenamento, o AutoMV interromperá sua atividade. Especificamente, com 80% da capacidade total do cluster, nenhuma nova visão materializada automatizada é criada. Com 90% da capacidade total, elas podem ser descartadas para viabilizar que as workloads do usuário continuem sem degradação da performance. Para obter mais informações sobre como determinar a capacidade de clusters, consulte STV_NODE_STORAGE_CAPACITY.
Faturamento para visões materializadas automatizadas
O recurso de otimização automática do Amazon Redshift cria e atualiza visões materializadas automatizadas. Não há cobrança por recursos computacionais para esse processo. O armazenamento de visões materializadas automatizadas é cobrado de acordo com a taxa normal de armazenamento. Para obter mais informações, consulte Preços do Amazon Redshift
Recursos adicionais do
A postagem do blog a seguir fornece mais explicações sobre visões materializadas automatizadas. Ele detalha como eles são criados, mantidos e descartados. Também explica os algoritmos subjacentes que impulsionam essas decisões: Optimize your Amazon Redshift query performance with automated materialized views
Este vídeo começa com uma explicação das visões materializadas e mostra como elas melhoram a performance e conservam recursos. Depois, ele fornece uma explicação detalhada das visões materializadas automatizadas com uma animação de fluxo de processo e uma demonstração ao vivo.