PostgreSQL em Alta Performance e Alta Disponibilidade (459)

tags: Alta disponibilidade, Banco de dados, PostgreSQL

PostgreSQL em Alta Performance e Alta Disponibilidade O curso de PostgreSQL em Alta Performance e Alta Disponibilidade tem o objetivo de melhorar a performance utilizando ferramentas de monitoramento do Sistema Operacional Linux e próprio PostgreSQL, identificar possíveis gargalos e fazer ajustes finos de configuração em ambos para obtenção da melhor performance mantendo a estabilidade. Juntamente com ferramentas de replicação e alta-disponibilidade consolidadas para Linux e PostgreSQL possibilitará planejar, implementar soluções para o banco de dados PostgreSQL obtendo a melhor performance com a maior disponibilidade de serviço para cada ambiente.

Para o PostgreSQL obter um bom desempenho, dependendo do tipo de aplicação que ele será utilizado (OLTP, BI, WEB), são necessárias configurações diferentes tanto no Linux como também do PostgreSQL, com ferramentas como Pgadmin3, Pgfouine, PSQL para otimizar as consultas. Somando o conhecimento para alta-disponibilidade utilizando Warm-Standby, Slony, Pgpool-2 e as ferramentas liberadas pelo Skype como Pgbouncer e PL/Proxy.

Quem deve fazer este curso e por que?

Profissionais envolvidos em banco de dados com necessidades e dificuldades de obter melhor performance e ter a melhor disponibilidade de serviço possível para o PostgreSQL trabalhando na fina arte de performance tuning e alta-disponibilidade.

Por que fazer este curso na 4Linux

  • A 4Linux, realmente coloca professores capacitados a ministrarem seus cursos, pois quer que o cliente volte. No curso de PostgreSQL, o professor é um profissional que aplica no dia-a-dia o que vai ensinar, e um pouco mais;
  • A 4Linux trabalha todas as distribuições Linux, mas foca em Debian pela confiabilidade e estabilidade. O curso PostgreSQL será trabalhado nesta distribuição, por também inserir o aluno na distribuição mais livre do mundo;
  • A 4Linux procura utilizar sempre as versões atuais e estáveis em seus cursos. Para o PostgreSQL, utilizaremos no curso a versão 8.3 que é a última estável do PostgreSQL e as últimas versões do pgpool, skytools, slony;
  • A 4Linux tem hardware suficiente para o aluno explorar o potencial do software em sala de aula. Neste curso o aluno será capacitado a identificar gargalos como disco, processamento, memória, problema de configuração no banco dados ou problemas na aplicação. Também por termos um parque de máquinas atualizado, o aluno poderá testar Alta-Disponibilidade;
  • Apenas 12 alunos por sala de aula.

Conteúdo Programático

  • Introdução ao conceito de performance tuning em Sistemas Operacionais *nix, entendendo os possíveis gargalos e quanto é possível melhorar a performance sem prejudicar a estabilidade.
  • Situações onde é necessário ter Alta-Disponibilidade e como é aplicado em banco dados e entendendo a necessidade de replicações síncronas e assíncronas.
  • A preparação do ambiente com as escolhas corretas de hardware assim como planejando a instalação do PostgreSQL que parece uma tarefa trivial em princípio ao olharmos mais profundamente percebemos que é necessário pensar como usar os discos, usar flags de compilação do código-fonte.
  • Monitoramento do PostgreSQL usando ferramentas disponíveis no Sistema Operacional e do PostgreSQL como também utilizando as visões de estatísticas para para entender onde estão os gargalos.
  • Execução testes de performance confiáveis para uma ambiente específico utilizando as ferramentas de benchmark disponíveis para PostgreSQL (pgbench, DBT2)
  • Ajuste de performance para o Sistema Operacional para o PostgreSQL sem necessidade de alteração de código-fonte modificando parâmetros de memória, escalonador de I/O, rede em sintonia com os parâmetros do PostgreSQL (Memória e WAL).
  • Registro de expressões SQL lentas e analisando possíveis soluções com uso de mais índices ou mudando a expressão SQL.
  • A partir da versão 8.2 o autovaccum é parte oficial do PostgreSQL, o uso correto dele permite manter o bom desempenho do banco de dados com evolução do tempo, o uso incorreto pode paralisar as aplicações como e determinadas situações é preciso usar apenas o Vaccum em detrimento do autovaccum, neste tópico veremos quando é melhor uso dos dois..
  • Warm Stand by ou Log shipping é uma técnica de replicação usando o que chamamos de logs binários que são os registros transacionais de software de banco de dados, neste tópico veremos como usá-lo para replicação/alta-disponibilidade.
  • Pgpool é uma ferramenta para usada para criar uma camada intermediária entre a aplicação e o PostgreSQL usada para criar o que chamamos pool de conexão economizando recurso do PostgreSQL. O Pgpool também permite trabalhar com cache de consultas e replicação síncrona do PostgreSQL. Neste tópico abordaremos sua instalação, configuração e uso.
  • Slony é uma ferramenta de replicação assíncrona muito usada para replicação parcial ou total de base dados PostgreSQL muito usado para disponibilidade em base remotas, abordaremos sua instalação, configuração e uso.
  • O Skype é um dos maiores usuários PostgreSQL conhecidos atualmente, tanto que liberaram as ferramentas desenvolvidas por eles para o uso no PostgreSQL de replicação, balanceamento de carga e alta-disponibilidade. Abordaremos sua instalação, configuração e uso.

Pré-requisitos

  • Leitura básica em Inglês Técnico;
  • Sólidos conhecimentos em Sistema Linux;
  • Compilação de aplicações;
  • Instalação de pacotes utilizando o utilitário dpkg ou rpm;
  • Aptitude;
  • Configuração do servidor gráfico (Xfree86 ou Xorg);
  • Compreensão do arquivo de configuração /etc/XF86config ou /etc/xorg.conf;
  • Utilização do editor de texto vim ou vi;
  • Conhecimento sólido em SQL
  • Conhecimento avançado em PostgreSQL
  • Conhecimento em Heartbeat, DRDB
  • Utilização dos seguintes serviços: - Servidor SSH com o recurso scp e sftp;
  • Ou: ter assistido com aproveitamento os treinamentos Linux System Administration (451), Linux Network Servers (452); Alta Disponibilidade em Servidores Linux - HA (426).

Faça as seguintes provas: Prova de pré-requisitos para o curso Linux Systems Administration (451) e Prova de pré-requisitos para o curso Linux Network Servers (452) (70% de pontuação é o mínimo aconselhável para que possa acompanhar o curso sem dificuldades).

Material Didático

  • PostgreSQL Reference Manual - Volume 1-301 CD com o PostgreSQL e ferramentas utilizada no curso;
  • 01 Pasta da 4Linux com 01 caneta e 01 bloquinho de anotações.
  • 01 Livro: PostgreSQL Reference Manual - Volume 1-3, The PostgreSQL Global Development Group, Ed. Network Theory

Carga Horária

40 horas