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 Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h