Visão Geral
Este Curso PostgreSQL Azure Gerenciando Bases de Dados Relacionais em Nuvem é essencial para engenheiros de dados, DBAs, desenvolvedores, arquitetos de nuvem e profissionais de operações que buscam dominar a implantação, configuração e gerenciamento de bancos de dados PostgreSQL na plataforma Microsoft Azure. Do ponto de vista técnico, você explorará as diferentes opções de serviço do Azure para PostgreSQL (Single Server, Flexible Server e Hyperscale (Citus)), compreendendo suas arquiteturas, casos de uso e otimizações. O curso cobrirá desde o provisionamento de instâncias, configuração de rede e segurança, até estratégias de alta disponibilidade, backup e restauração, monitoramento de performance e migração de dados. Será dada especial atenção às melhores práticas para garantir a escalabilidade, resiliência e segurança de suas soluções de banco de dados na nuvem.
Curso PostgreSQL Azure Gerenciando Bases de Dados Relacionais em Nuvem, o domínio do Azure PostgreSQL é uma habilidade altamente requisitada e estratégica no mercado de TI. Ele permite que as organizações acelerem o desenvolvimento de aplicações, reduzam a carga operacional de gerenciamento de banco de dados, e otimizem custos ao aproveitar a elasticidade e os recursos gerenciados da nuvem. A capacidade de construir e manter uma infraestrutura de dados escalável, segura e altamente disponível no Azure proporciona maior agilidade nos negócios e vantagem competitiva. Profissionais com essa expertise são indispensáveis para equipes que buscam modernizar suas cargas de trabalho de dados e migrar para a nuvem com confiança.
Conteúdo Programatico
Módulo 1: Introdução ao Azure Database for PostgreSQL (4 horas)
- 1.1. O Cenário de Bancos de Dados Gerenciados na Nuvem:
- Benefícios do DBaaS (Database-as-a-Service): escalabilidade, HA, backup, monitoramento.
- Comparação entre IaaS, PaaS e SaaS para bancos de dados.
- 1.2. Visão Geral do Azure Database for PostgreSQL:
- Recursos e capacidades do serviço.
- Casos de uso e cenários de aplicação.
- 1.3. As Diferentes Opções de Serviço:
- Single Server: Arquitetura, quando usar, limitações.
- Flexible Server: Melhorias, arquitetura, HA em zona, burstable compute, quando usar.
- Hyperscale (Citus): Para cargas de trabalho distribuídas, arquitetura, quando usar.
- 1.4. Provisionamento de Instâncias no Azure Portal:
- Passo a passo para criar uma instância (Single ou Flexible Server).
- Seleção de região, camada de preço, vCores, armazenamento.
- Custos e modelo de precificação.
- Prática: Criar uma nova conta Azure (se necessário). Provisionar uma instância de Azure Database for PostgreSQL - Flexible Server e explorar as configurações básicas.
Módulo 2: Configuração e Conectividade (4 horas)
- 2.1. Configuração de Rede e Segurança de Conexão:
- Regras de Firewall: Configurando acesso via IP público.
- VNet Integration (Private Access): Integrando o banco de dados a uma Rede Virtual (VNet).
- Private Link: Conexão segura e privada sobre a rede backbone da Microsoft.
- Melhores práticas de segurança de rede.
- 2.2. Parâmetros do Servidor:
- Ajustando parâmetros de configuração do PostgreSQL no Azure Portal.
- Parâmetros comuns para desempenho e logs (
log_connections
, log_min_duration_statement
).
- 2.3. Conectando-se ao Azure PostgreSQL:
- Utilizando
psql
(linha de comando).
- Conectando via
pgAdmin
ou outros clientes SQL.
- Configurando SSL para conexões seguras.
- Prática: Configurar regras de firewall para acesso seguro. Integrar a instância do PostgreSQL a uma VNet. Conectar-se à instância usando
psql
e pgAdmin
com SSL.
Módulo 3: Gerenciamento de Dados e Migração (4 horas)
- 3.1. Gerenciamento de Bancos de Dados e Schemas:
CREATE DATABASE
, DROP DATABASE
, ALTER DATABASE
.
CREATE SCHEMA
, DROP SCHEMA
, ALTER SCHEMA
.
- Conceitos de
OWNER
e permissões.
- 3.2. Gerenciamento de Tabelas, Índices e Visões:
- DDL (Data Definition Language) no contexto do Azure PostgreSQL.
- Criação de tabelas, índices e visões.
- Importância de índices para desempenho.
- 3.3. Estratégias de Migração para Azure PostgreSQL:
- Ferramentas de migração:
pg_dump
/pg_restore
, Azure Data Migration Service (DMS).
- Migração offline vs. online.
- Considerações de desempenho e tempo de inatividade.
- 3.4. Carregamento de Dados:
- Utilizando
COPY
para carregamento em massa.
- Azure Data Factory e outras ferramentas ETL/ELT para ingestão de dados.
- Prática: Criar um novo banco de dados, schemas e tabelas. Migrar um pequeno conjunto de dados de um PostgreSQL local para o Azure PostgreSQL usando
pg_dump
/pg_restore
.
Módulo 4: Segurança e Controle de Acesso (4 horas)
- 4.1. Autenticação e Autorização:
- Gerenciamento de usuários e papéis (roles) do PostgreSQL.
- Concedendo e revogando permissões (
GRANT
, REVOKE
).
- Segurança em nível de linha (Row-Level Security - RLS).
- 4.2. Integração com Azure Active Directory (AAD):
- Configurando a autenticação baseada em AAD para Azure PostgreSQL.
- Benefícios da autenticação centralizada e single sign-on.
- Gerenciando usuários e grupos do AAD no PostgreSQL.
- 4.3. Criptografia de Dados:
- Criptografia em trânsito (SSL/TLS).
- Criptografia em repouso (Data Encryption at Rest) e Chaves Gerenciadas pelo Cliente (CMK) com Azure Key Vault.
- 4.4. Monitoramento de Auditoria e Logs:
- Configurando logs de auditoria para atividades de banco de dados.
- Exportando logs para Azure Monitor e Azure Storage.
- Prática: Criar usuários e papéis com permissões específicas. Configurar a autenticação via Azure Active Directory. Habilitar e revisar logs de auditoria.
Módulo 5: Alta Disponibilidade, Backup e Recuperação de Desastres (4 horas)
- 5.1. Alta Disponibilidade e Redundância:
- HA built-in do Azure Database for PostgreSQL (failover automático).
- Replicação de Leitura (Read Replicas): Configuração, casos de uso, e limitações.
- HA em zonas de disponibilidade (para Flexible Server).
- 5.2. Backup e Restauração:
- Backups automáticos gerenciados pelo Azure.
- Restaurar em um ponto no tempo (Point-in-Time Restore).
- Restauração geográfica (Geo-Restore) para recuperação de desastres regionais.
- Retenção de backups e custos.
- 5.3. Continuidade de Negócios e Recuperação de Desastres:
- Planejamento de RTO (Recovery Time Objective) e RPO (Recovery Point Objective).
- Estratégias de DR para Azure PostgreSQL.
- Prática: Configurar uma réplica de leitura para sua instância PostgreSQL. Realizar uma restauração pontual de sua base de dados para um momento anterior.
Módulo 6: Otimização de Performance e Azure Database for PostgreSQL - Hyperscale (Citus) (4 horas)
- 6.1. Monitoramento de Performance com Azure Monitor:
- Métricas chave a monitorar (CPU, memória, I/O, conexões, armazenamento).
- Criação de alertas e dashboards personalizados.
- Azure Activity Log e Logs de Diagnóstico.
- 6.2. Ferramentas de Desempenho e Otimização:
- Query Performance Insight.
- Performance Recommendations.
- Otimização de consultas SQL e índices.
- Ajuste de parâmetros do servidor para cargas de trabalho específicas.
- Connection Pooling (ex: PgBouncer).
- 6.3. Introdução ao Azure Database for PostgreSQL - Hyperscale (Citus):
- Quando usar Citus: escalabilidade horizontal para OLAP e workloads mistos.
- Conceitos de sharding, tabelas distribuídas e de referência.
- Consultas distribuídas e paralelismo.
- Provisionamento de um cluster Citus (visão geral).
- 6.4. Boas Práticas e Considerações de Custo:
- Dimensionamento correto dos recursos (vCores, armazenamento).
- Otimização de custos com o uso de Flexible Server e instâncias burstable.
- Planejamento de capacidade.
- Prática: Analisar métricas de desempenho no Azure Monitor. Realizar otimizações em consultas SQL e testar o impacto. (Demonstração/Discussão) Visão geral do provisionamento e interação básica com um cluster Citus.