Pular para o conteúdo principal

Questão de Arquitetura de Software — Internet — ACAFE 2024

Arquitetura de SoftwareInternet
Código
qg053100
Banca
ACAFE
Órgão
CELESC
Ano
2024
Nível
Superior
Cargo
Analista de Sistemas - Infraestrutura Operação e Segurança
Uma empresa de e-commerce está planejando expandir suas operações online para suportar um maior número de usuários simultâneos e garantir que o sistema permaneça disponível mesmo em caso de falhas. O gerente de TI está avaliando diferentes topologias de bancos de dados relacionais para alcançar alta disponibilidade e escalabilidade. Qual das seguintes topologias de banco de dados relacionais é mais adequada para um ambiente que exige alta disponibilidade e escalabilidade?
  1. AArquitetura monolítica com um único servidor de banco de dados.
  2. BReplicação master-slave com failover automático.
  3. CBanco de dados centralizado com backup diário.
  4. DReplica única com failover manual.
  5. EArquitetura shard sem replicação.
Revelar gabarito e comentário

GabaritoB — Replicação master-slave com failover automático.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Topologias de Banco de Dados para Alta Disponibilidade e Escalabilidade

Gabarito: letra B. A replicação master-slave com failover automático oferece tanto alta disponibilidade (failover automático em caso de falha do mestre) quanto escalabilidade (leituras podem ser distribuídas entre os slaves). As demais alternativas falham em atender a pelo menos um dos dois requisitos essenciais: disponibilidade contínua e capacidade de crescer.

A banca testa a compreensão de que alta disponibilidade exige redundância e mecanismo de recuperação automática, enquanto escalabilidade pede distribuição de carga. A replicação master-slave atende ambos: o failover automático garante disponibilidade; a criação de múltiplos slaves distribui as consultas de leitura, permitindo escalar horizontalmente.

Topologia

Alta Disponibilidade

Escalabilidade

Mecanismo de Recuperação

Arquitetura monolítica com um único servidor

❌ Não (sem redundância)

❌ Não (nó único)

Nenhum

Replicação master-slave com failover automático

✅ Sim (failover automático)

✅ Sim (leituras distribuídas)

Automático

Banco de dados centralizado com backup diário

❌ Não (restauração lenta)

❌ Não (sem distribuição)

Manual (backup)

Réplica única com failover manual

❌ Não (intervenção humana)

❌ Não (sem distribuição)

Manual

Arquitetura shard sem replicação

❌ Não (sem redundância)

✅ Sim (particionamento)

Nenhum

Alternativa A — ❌ Incorreta

Arquitetura monolítica com um único servidor não oferece redundância nem distribuição. Qualquer falha no servidor derruba o sistema (baixa disponibilidade) e o único nó limita a capacidade de atender mais usuários (sem escalabilidade).

Alternativa B — ✅ Correta ⟵ GABARITO

A replicação master-slave mantém cópias (slaves) do banco principal (master). Se o master falha, um slave é promovido automaticamente (failover), garantindo {{alta disponibilidade}}. As operações de leitura podem ser direcionadas aos slaves, distribuindo a carga e permitindo {{escalabilidade}}. Atende perfeitamente o cenário de e-commerce com muitos usuários simultâneos.

Alternativa C — ❌ Incorreta

Backup diário não substitui failover automático. Em caso de falha, a restauração do backup leva tempo (indisponibilidade) e não há distribuição de carga para escalar. Backup é medida de recuperação de desastres, não de alta disponibilidade.

Alternativa D — ❌ Incorreta

Failover manual exige intervenção humana para recuperar o sistema após uma falha, gerando {{indisponibilidade}} durante o período de detecção e ativação. Não atende o requisito de “alta disponibilidade” (que espera recuperação automática e rápida).

Alternativa E — ❌ Incorreta

Sharding (particionamento de dados) sem replicação oferece escalabilidade horizontal, pois cada fragmento pode ser hospedado em servidores distintos. Contudo, {{não há redundância}}: a falha de um shard compromete os dados daquele fragmento, violando a alta disponibilidade. A questão exige ambas as propriedades.

NÃO CAIA NESSA!

O candidato pode confundir escalabilidade com alta disponibilidade. O sharding escala, mas não protege contra falha de um nó – para isso é necessário replicação. Master-slave com failover automático resolve os dois problemas, enquanto shard sem replicação deixa a disponibilidade vulnerável.

PEGA ESSA DICA!

Sempre que a questão pedir “alta disponibilidade E escalabilidade”, lembre-se: disponibilidade exige redundância com failover automático; escalabilidade exige distribuição de carga. Replicação (master-slave ou multi-master) é o padrão para bancos relacionais. Sharding é uma técnica avançada de escalabilidade, mas precisa ser combinada com replicação para garantir disponibilidade.

Gabarito: letra B.

Link permanente: /questoes/qg053100