System Design: decidir, dimensionar e recuperar sistemas
Doze aulas, 100 perguntas e 20 casos de System Design: requisitos, dados, capacidade, paginação, exportação, ownership e recuperação.
Objetivos e percurso
Doze módulos técnicos com situações fictícias APS. Preserva os laboratórios de transações e paginação e acrescenta dezasseis grupos locais PostgreSQL/ficheiros executados duas vezes. Materializa valores numa visão conservada, observa duas sessões a adquirir jobs distintos, testa adoção por tempo lógico e rejeição da geração antiga, e distingue candidato, referência aceite e disponibilidade do artefacto. Avaliação interna de 62 decisões em 130 minutos. Conteúdo original PT-PT/EN. Metas quantitativas inferiores não substituem API e carga representativas, ensaios de falha, autonomia prática, oficina humana e revisão independente, ainda pendentes.
Para quem: Equipas APS L2/L3, infraestrutura, SRE, administração de sistemas e gestores técnicos.
Pré-requisitos: Noções de aplicações, monitorização e suporte à produção; não pressupõe processos internos de qualquer banco.
770 minutos de estudo estimados
- Transforma necessidades de negócio em critérios verificáveis e decisões rastreáveis.
- Dimensiona com hipóteses explícitas e valida o comportamento sob carga.
- Escolhe garantias de leitura, escrita e recuperação para cada operação.
- Avalia padrões de escala juntamente com as suas limitações.
- Desenha para domínios de falha e demonstra recuperação do serviço completo.
- Inclui proteção, operação e desativação nas decisões de desenho.
- Observa duas sessões PostgreSQL, identifica decisões baseadas em dados antigos e revê a proteção de regras de negócio.
- Calcula limites simples, identifica hipóteses frágeis e transforma resultados em critérios de validação de arquitetura.
- Usa resultados observáveis para escolher entre offset e cursor e explicitar o que uma listagem pode omitir ou repetir.
- Compara uma visão conservada com páginas independentes e lê planos reais sem confundir contagens com garantias de desempenho.
- Separa a recolha consistente dos dados da produção do ficheiro e define o estado que autoriza a sua entrega.
- Coordena consumidores de uma fila e rejeita conclusões antigas através de condições verificadas na atualização do estado.
Módulos
- Requisitos e decisões de arquitetura
- Capacidade e latência
- Dados e consistência
- Cache, partições e filas
- Falhas e recuperação
- Segurança, custo e ciclo de vida
- Invariantes, transações e repetição
- Capacidade, cache e evidência arquitetural
- Paginação com dados em mudança
- Snapshots, custo e contrato de exportação
- Materializar exportações recuperáveis
- Leases, gerações e publicação
Continua a aprender
Referências e versão
System design patterns; PostgreSQL18 scoped examples; primary guidance consulted 2026-09-30
- Implementing SLOs · 2026-09-30
- Defining reliability targets · 2026-09-30
- Architecture decision records · 2026-10-03
- Performance testing · 2026-10-03
- Reliability design principles · 2026-09-30
- Cache-Aside pattern · 2026-10-03
- CQRS pattern · 2026-09-30
- Sharding pattern · 2026-10-03
- PostgreSQL log-shipping standby servers · 2026-09-30
- Transaction isolation · 2026-10-04
- Queue-based load leveling · 2026-09-30
- Securing a development lifecycle · 2026-09-30
- Grant least privilege access · 2026-09-30
- Allocate costs based on workload metrics · 2026-10-03
- Implement a decommissioning process · 2026-09-30
- UPDATE and RETURNING · 2026-10-04
- Serialization failure handling · 2026-10-03
- PostgreSQL error codes · 2026-10-03
- Command execution functions · 2026-10-04
- Building from source · 2026-10-04
- PostgreSQL 18.6 source release · 2026-10-03
- ctypes foreign function library · 2026-10-03
- Rational numbers · 2026-10-03
- Handling overload · 2026-10-03
- LIMIT and OFFSET · 2026-10-04
- Row and array comparisons · 2026-10-04
- Indexes and ORDER BY · 2026-10-04
- Using EXPLAIN · 2026-10-04
- Routine vacuuming · 2026-10-04
- SELECT and SKIP LOCKED · 2026-10-04
- hashlib: content digests · 2026-10-04
- pathlib: owned file lifecycle · 2026-10-04
O que vais explorar
0 / 12Requisitos e decisões de arquitetura
Transforma necessidades de negócio em critérios verificáveis e decisões rastreáveis.
Capacidade e latência
Dimensiona com hipóteses explícitas e valida o comportamento sob carga.
Dados e consistência
Escolhe garantias de leitura, escrita e recuperação para cada operação.
Cache, partições e filas
Avalia padrões de escala juntamente com as suas limitações.
Falhas e recuperação
Desenha para domínios de falha e demonstra recuperação do serviço completo.
Segurança, custo e ciclo de vida
Inclui proteção, operação e desativação nas decisões de desenho.
Invariantes, transações e repetição
Observa duas sessões PostgreSQL, identifica decisões baseadas em dados antigos e revê a proteção de regras de negócio.
Capacidade, cache e evidência arquitetural
Calcula limites simples, identifica hipóteses frágeis e transforma resultados em critérios de validação de arquitetura.
Paginação com dados em mudança
Usa resultados observáveis para escolher entre offset e cursor e explicitar o que uma listagem pode omitir ou repetir.
Snapshots, custo e contrato de exportação
Compara uma visão conservada com páginas independentes e lê planos reais sem confundir contagens com garantias de desempenho.
Materializar exportações recuperáveis
Separa a recolha consistente dos dados da produção do ficheiro e define o estado que autoriza a sua entrega.
Leases, gerações e publicação
Coordena consumidores de uma fila e rejeita conclusões antigas através de condições verificadas na atualização do estado.