Curso Explain Plan For Greenplum

  • DevOps | CI | CD | Kubernetes | Web3

Curso Explain Plan For Greenplum

16 horas
Visão Geral

Este Curso Explain Plan for Greenplum é focado em capacitar profissionais de banco de dados e engenheiros de performance a dominar a leitura e a interpretação do EXPLAIN PLAN no ambiente de data warehouse distribuído Greenplum. O curso cobre desde os fundamentos da arquitetura MPP (Massively Parallel Processing) do Greenplum até a análise detalhada de operadores complexos, ajudando o aluno a identificar gargalos, otimizar consultas SQL e, consequentemente, melhorar a performance geral do sistema.

Objetivo

Após realizar este Curso Explain Plan for Greenplum, você será capaz de:

  • Entender como a arquitetura MPP do Greenplum influencia a execução do plano de consulta.
  • Ler e interpretar todos os componentes do EXPLAIN PLAN e EXPLAIN ANALYZE.
  • Identificar e mitigar gargalos de performance, como Data Skew (desequilíbrio de dados) e uso excessivo de Redistribute.
  • Avaliar o impacto das estratégias de distribuição de tabela (Distribution Keys) na performance da consulta.
  • Otimizar Joins e Aggregation ao analisar os operadores de Motion (movimentação de dados entre Segments).
  • Utilizar a ferramenta de Query Tuning do Greenplum de forma eficaz para garantir consultas rápidas e escaláveis
Publico Alvo
  • Administradores de Banco de Dados (DBAs) Greenplum/PostgreSQL.
  • Engenheiros de Performance e Otimização de Consultas.
  • Desenvolvedores de SQL e ETL que trabalham com Greenplum.
  • Analistas de Dados com interesse em otimizar o tempo de execução de consultas.
Pre-Requisitos
  • Conhecimento intermediário em SQL (Structured Query Language).
  • Conhecimento básico em conceitos de banco de dados (índices, tabelas, joins).
  • Familiaridade com a linha de comando (CLI) ou clientes SQL (como psql).
Materiais
Português + Exercícios + Lab Pratico
Conteúdo Programatico

Módulo 1: Fundamentos da Otimização no Greenplum

1.1 Visão Geral da Arquitetura Greenplum:

  1. Conceito de MPP (Massively Parallel Processing).
  2. Componentes: Master Segment, Segment Instances e Interconnect.
  3. Como o Query Optimizer gera planos de execução paralela.

1.2 Introdução ao EXPLAIN PLAN:

  1. O que é o EXPLAIN PLAN e como ele difere do PostgreSQL padrão.
  2. Entendendo a saída: Hierarquia, operadores e ordem de leitura.
  3. Diferença crucial entre EXPLAIN e EXPLAIN ANALYZE.

1.3 Coleta de Estatísticas (VACUUM e ANALYZE):

  1. A importância da função ANALYZE para a precisão do plano.
  2. Melhores práticas para manter as estatísticas atualizadas nas tabelas (e o impacto na otimização).

Módulo 2: Leitura e Interpretação dos Operadores de Execução

2.1 Operadores de Acesso a Dados:

  1. Seq Scan (Sequential Scan): Quando é aceitável e quando é um problema.
  2. Index Scan e Bitmap Heap Scan: Como identificar a utilização de índices.
  3. Append, Table Function Scan e Subquery Scan.

2.2 Operadores de Junção (Joins):

  1. Nested Loop Join (NLJ): Cenários de uso (tabelas pequenas) e quando deve ser evitado.
  2. Hash Join: O join mais comum no Greenplum e como analisar seu custo.
  3. Merge Join: Quando ele aparece e suas vantagens/desvantagens.

2.3 Operadores de Modificação de Dados:

  1. Análise de Insert, Update e Delete no plano de execução.
  2. CTAS (Create Table As Select) e seu impacto na re-distribuição de dados.

Módulo 3: Otimização em Ambientes Distribuídos (MPP)

3.1 Os Operadores de Motion (Movimentação de Dados):

  1. O operador Redistribute: Identificando a movimentação dispendiosa de dados entre segments.
  2. O operador Broadcast: Quando uma tabela inteira é copiada para todos os segments e como otimizar.
  3. O operador Gather: Movendo dados de volta para o Master (custo de I/O de rede).

3.2 Estratégias de Distribuição de Tabela (Distribution Keys):

  1. Revisão de Hash Distributed (pela chave de distribuição) e Random Distributed.
  2. Como a escolha da Distribution Key impacta diretamente a necessidade dos operadores de Motion.
  3. Análise de EXPLAIN PLAN para confirmar a eficiência da Distribution Key.

3.3 O Problema do Data Skew (Desequilíbrio de Dados):

  1. Identificando o Data Skew pelo resultado do EXPLAIN ANALYZE (tempo de execução desigual entre segments).
  2. Estratégias de mitigação (skew-handling) e reavaliação da Distribution Key.

Módulo 4: Análise Avançada e Ferramentas de Tuning

4.1 Interpretação do EXPLAIN ANALYZE:

  1. Detalhamento das métricas: Time, Rows, Workers, Peak Memory.
  2. Identificando o tempo de espera (Wait Time) e os bottlenecks reais.
  3. Análise de Slice Information (fatias de execução paralela).

4.2 Otimização de Agregação e Window Functions:

  1. Análise de operadores Group By e Sort no plano.
  2. Otimização de Window Functions (Ex: Row Number, Lag) em ambiente distribuído.

4.3 Otimização Baseada em Particionamento e Storage

  1. Como a estratégia de Particionamento reduz o tempo de Scan (poda de partição).
  2. Análise do EXPLAIN PLAN em tabelas com Columnar Storage vs. Row Storage.

4.4 Uso de Hints e Parâmetros de Sessão:

  1. Quando e como usar Optimizer Hints (Ex: forçar um tipo de Join).
  2. Parâmetros de sessão que influenciam o plano (Ex: optimizer GPORCA vs. Legacy).

4.5 Estudo de Caso Prático:

  1. Otimização de uma consulta SQL complexa de ponta a ponta: identificar o problema no EXPLAIN ANALYZE, alterar a Distribution Key ou criar um índice, e provar a melhoria na performance.

TENHO INTERESSE

Cursos Relacionados

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Ansible Overview of Ansible architecture

16h

Curso Apache NiFi e Hadoop DataFlow Engineering

40 horas

Curso Apache Kafka Data Streaming

24 horas

Curso Python Software Development

24 horas