Conforme o uso do MaxCompute se intensifica, diferentes usuários podem executar, sem perceber, consultas repetitivas nas mesmas tabelas, o que gera processamento redundante. Para otimizar a eficiência computacional, reduzir essa redundância e acelerar as consultas, o MaxCompute disponibiliza o recurso Automatic Materialized View (AutoMV). O recurso cria visões materializadas automaticamente com base nos padrões e no desempenho das consultas.
Introdução
Em um data warehouse, a visão materializada é uma técnica essencial para otimizar a execução de consultas repetitivas. Caso a sua carga de trabalho envolva diversas consultas com subconsultas comuns demoradas (como aquelas que utilizam JOINs ou agregações), utilize uma visão materializada para armazenar os resultados pré-processados. Assim, as consultas seguintes leem os dados diretamente da visão materializada, evitando a recomputação. Essa abordagem acelera o desempenho das consultas e economiza recursos de computação. Para mais informações sobre visões materializadas, consulte Materialized view operations.
Para simplificar a análise, a criação e a manutenção dessas visões, o MaxCompute introduziu o recurso Automatic Materialized View (AutoMV). O AutoMV simplifica a criação e o gerenciamento das visões materializadas, além de melhorar a experiência do usuário.
Após ativar o recurso Automatic Materialized View (AutoMV) em um projeto do MaxCompute, o sistema executa automaticamente as ações a seguir:
Monitoramento contínuo de consultas: O sistema monitora de forma contínua as consultas recentes em nível de projeto para identificar subconsultas comuns adequadas para materialização.
Criação automática de visões materializadas: O sistema gera visões materializadas periodicamente com base nas candidatas identificadas.
Reescrita inteligente de consultas: O otimizador de consultas reescreve automaticamente as consultas recebidas para ler os dados das visões materializadas mais eficientes.
Gerenciamento adaptativo de recursos de armazenamento: O recurso gerencia de forma eficiente o armazenamento usado pelas visões materializadas, evitando um aumento significativo no armazenamento total do projeto.
Limitações
Regiões compatíveis: China (Hangzhou), China (Shanghai), China (Beijing), China (Zhangjiakou), China (Shenzhen) e China (Chengdu).
O sistema só cria um AutoMV quando a subconsulta comum de origem contém pelo menos um dos seguintes operadores da álgebra relacional: Project, Filter, JOIN ou Aggregate.
O AutoMV não suporta o uso entre projetos. Por exemplo, se o Projeto A e o Projeto B puderem usar a mesma visão materializada, o AutoMV criará uma visão idêntica e separada em cada projeto, pois o escopo se restringe a um único projeto.
Para evitar a degradação do desempenho, o processo de reescrita de consultas utiliza apenas visões materializadas que correspondam exatamente à subconsulta original.
Gerenciar a ativação do AutoMV e definir o limite de armazenamento
Gerencie a ativação do AutoMV e defina um limite de armazenamento para o recurso usando o MaxCompute console ou comandos SQL. Após configurar o limite, o AutoMV interrompe a gravação de dados nas visões materializadas existentes caso o valor ultrapasse o limite configurado.
O sistema cria a visão materializada apenas quando o tamanho do armazenamento não excede o limite configurado.
Usar o console
Gerencie a ativação do AutoMV e defina o limite de armazenamento no MaxCompute console usando um dos métodos a seguir.
-
Na criação do projeto
Ao criar um projeto, ative o AutoMV na caixa de diálogo Create Project e configure o campo Maximum Storage for AutoMV (GB). O recurso já vem ativado por padrão.
-
Na página Projects
Acesse a página Projects no MaxCompute console. Na coluna Actions do projeto alvo, clique em Manage. Na guia Parameter Configuration, localize a seção Intelligent Optimization Switch e clique em Edit para ajustar as configurações.
-
Na página Intelligent Materialized Views
No painel de navegação à esquerda, escolha . Na página Intelligent Materialized Views, selecione a guia AutoMV.
Clique em AutoMV Switch Management à direita para ativar ou desativar o AutoMV e definir o limite de armazenamento em GB.
Usar comandos
-
Gerenciar a ativação do AutoMV
Execute o comando
SETPROJECT odps.sql.enable.auto.mv=true/false;em nível de projeto para gerenciar a ativação do AutoMV. O valortrueativa o recurso efalseo desativa. -
Definir o limite de armazenamento
Execute o comando a seguir em nível de projeto para definir o limite de armazenamento. O exemplo abaixo reserva 1.024 GB para o AutoMV armazenar as visões materializadas no projeto.
SETPROJECT odps.sql.auto.mv.quota.gb=1024;
Antes de usar o AutoMV, verifique se a ativação dele e o recurso materialized view query rewriting estão habilitados no projeto. Para ativar a reescrita de consultas, defina o parâmetro do projeto
SETPROJECT odps.sql.materialized.view.enable.auto.rewriting=true;. Esse parâmetro geralmente já vem ativado por padrão.Ao definir o limite de armazenamento para o AutoMV no console ou por comando, o valor precisa ser um número inteiro no intervalo
[0, 2147483647).Caso não defina um limite, o AutoMV usa, por padrão, no máximo 2% do armazenamento total do projeto para as visões materializadas. Essa configuração padrão evita aumentos significativos no uso de armazenamento.
Visualizar os benefícios e o uso de armazenamento do AutoMV
A guia Automatic Materialized View (AutoMV) exibe os benefícios do recurso, incluindo tempo de computação economizado, CU-horas poupadas, redução da carga de processamento e economia de custos. É possível acompanhar também o uso do armazenamento.
As estatísticas de benefícios e de armazenamento não ficam disponíveis de imediato. Se você ativar o AutoMV antes das 21h, as estatísticas aparecem no terceiro dia. Se ativar depois das 21h, elas aparecem no quarto dia.
Faça login no MaxCompute console e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
-
Na página Intelligent Materialized Views, na guia AutoMV, selecione um projeto do MaxCompute (ou deixe em branco para todos) e um intervalo de tempo para visualizar os benefícios do projeto, o uso de armazenamento e a lista de AutoMVs específicos.
-
Métricas:
Métrica
Descrição
Hits
Número de vezes em que um AutoMV foi usado dentro do intervalo de tempo especificado.
Tempo de computação economizado
Redução total no tempo de computação de jobs que usaram um AutoMV, em comparação com a execução sem o recurso.
CU-horas economizadas
Redução no consumo de CU-horas de todos os jobs que usaram um AutoMV no projeto selecionado, em comparação com a execução sem o recurso.
Carga de computação reduzida
Redução da carga de computação (quantidade de dados verificados × complexidade) para todos os jobs que usaram um AutoMV no projeto selecionado. Essa métrica se aplica apenas a jobs executados em recursos de computação com pagamento conforme o uso.
Economia nos custos de computação (preço de tabela)
Economia de custos estimada, calculada multiplicando a carga de computação reduzida pelo preço unitário de pagamento conforme o uso. O preço é USD 0,0438 por GB.
NotaA região da Arábia Saudita (Riad) é operada por um parceiro. O preço unitário nessa região é de USD 0,05256 por GB.
Uso de armazenamento
Quantidade de armazenamento ocupada pelo AutoMV.
-
Parâmetros da lista de AutoMV:
Coluna
Descrição
Nome da visão materializada
Nome da visão materializada automática.
Projeto
Projeto ao qual o AutoMV pertence.
Hits
Número de vezes em que o AutoMV foi usado dentro do intervalo de tempo especificado.
Tempo de computação economizado
Redução no tempo total de computação dos jobs que usaram esse AutoMV, em comparação com o tempo sem o recurso.
CU-horas economizadas
Redução no consumo de CU-horas dos jobs que usaram esse AutoMV, em comparação com o consumo sem o recurso.
Carga de computação reduzida
Redução na carga de computação (quantidade de dados verificados × complexidade) para jobs que usaram esse AutoMV. Essa métrica se aplica apenas a jobs executados em recursos de computação com pagamento conforme o uso.
Uso de armazenamento
Quantidade de armazenamento ocupada pelo AutoMV.
Ações
Clique em View Details para visualizar as informações básicas e os detalhes de código do AutoMV.
-
Informações básicas
-
Creation time: Horário em que o AutoMV foi criado.
-
Last structure atualize: Última atualização da estrutura da tabela do AutoMV.
-
Storage size: Quantidade de armazenamento ocupada pelo AutoMV.
-
-
Code details: Script SQL que define o AutoMV. É possível visualizar, copiar ou baixar o script SQL.
-
-
Faturamento
Após ativar o AutoMV em um projeto, você paga apenas pelo armazenamento das visões materializadas criadas automaticamente, seguindo o preço padrão de armazenamento, sem taxas adicionais. Para detalhes sobre os preços do armazenamento padrão, consulte Storage costs.
O sistema cria a visão materializada apenas quando o tamanho do armazenamento não excede o limite configurado. Para saber como definir o limite, consulte Gerencie the AutoMV switch and defina the storage limit.
Tópicos relacionados
Para mais informações sobre operações de visões materializadas, consulte Materialized view operations.
Para mais informações sobre a reescrita de consultas em visões materializadas, consulte Materialized view query rewriting.
Para mais informações sobre recomendação e gerenciamento de visões materializadas, consulte Materialized view recommendation and management.