Questão nº 88
Questão de Tecnologia da Informação · FGV CGE-SP 2025 (nº 88)
Um órgão estadual de finanças migrou sua base de dados relacional crítica para um serviço gerenciado em nuvem (ex: AWS RDS ou Azure SQL Database) e configurou o recurso de Alta Disponibilidade (HA).
O objetivo é garantir que, em caso de falha completa da Zona de Disponibilidade (AZ) onde a instância primária reside, o serviço possa ser restaurado rapidamente com perda mínima de dados.
Assinale a opção que indica o principal mecanismo arquitetural usado por esses serviços gerenciados para Alta Disponibilidade, que minimiza o RPO (Recovery Point Objective) em um cenário Multi-AZ e garante a rápida transição (failover) sem a necessidade de intervenção manual.
- AA utilização de Snapshots diários para reconstrução da instância em outra AZ.
- BO uso de um Load Balancer, distribuindo a carga de escrita (writes) entre as réplicas em todas as AZs.
- CA replicação dos dados para uma instância standby (secundária), localizada em uma AZ diferente, com o uso de replicação síncrona ou semi-síncrona para garantir RPO próximo a zero. (alternativa correta)
- DA configuração de Read Replicas em diversas regiões geográficas com replicação assíncrona para o tráfego de leitura.
- EA estratégia de Sharding (fragmentação) de dados entre diversas instâncias para escalabilidade de escrita.
Resposta comentada
Gabarito Alternativa C
Quando um banco de dados em nuvem precisa de Alta Disponibilidade (HA) em múltiplas Zonas de Disponibilidade (Multi-AZ), significa que ele tem uma cópia de segurança pronta para assumir o controle rapidamente se a principal falhar, garantindo que os dados estejam o mais atualizados possível e que a transição seja automática.
(A) Incorreta: Snapshots diários são cópias de segurança pontuais. Restaurar um banco de dados a partir de um snapshot leva tempo e resultaria na perda de todas as transações realizadas desde o último snapshot, o que não atende ao requisito de "perda mínima de dados" (RPO próximo a zero) para um cenário de failover rápido.
(B) Incorreta: Um Load Balancer (balanceador de carga) é usado principalmente para distribuir tráfego de leitura entre múltiplas réplicas ou para direcionar o tráfego para a instância primária. Distribuir escritas diretamente entre várias réplicas em um banco de dados relacional tradicional sem um mecanismo de consenso complexo pode levar a inconsistências de dados. O mecanismo de HA para failover da instância primária não se baseia na distribuição de escritas por um load balancer. Armadilha: O Load Balancer é uma ferramenta comum de HA/escalabilidade, mas não para o failover da instância primária de escrita em um cenário Multi-AZ de banco de dados relacional.
(C) Correta: Este é o mecanismo padrão para Alta Disponibilidade Multi-AZ em serviços gerenciados como AWS RDS e Azure SQL Database. Uma instância primária processa as operações, e uma **instância standby (secundária), idêntica e localizada em uma Zona de Disponibilidade diferente, recebe continuamente as atualizações da primária. A replicação síncrona (ou semi-síncrona) garante que os dados sejam gravados em ambas as instâncias antes que a transação seja confirmada, resultando em um RPO (Recovery Point Objective) próximo a zero** (quase nenhuma perda de dados). Em caso de falha da AZ da instância primária, a instância standby é promovida automaticamente a primária, com um failover rápido e sem intervenção manual.
(D) Incorreta: Read Replicas (réplicas de leitura) são usadas para escalar a capacidade de leitura e, muitas vezes, utilizam replicação assíncrona, o que implica em um RPO maior (possível perda de dados em caso de falha da primária). Além disso, a questão foca em HA dentro de um cenário Multi-AZ (Zonas de Disponibilidade dentro de uma mesma região), enquanto "diversas regiões geográficas" se refere mais a Recuperação de Desastres (DR), não ao HA imediato para a instância primária dentro de uma região.
(E) Incorreta: Sharding (fragmentação) é uma estratégia para escalar o banco de dados horizontalmente, dividindo os dados em pedaços menores (shards) que são armazenados em instâncias separadas. Embora melhore a escalabilidade de escrita e leitura, não é o principal mecanismo arquitetural para garantir a Alta Disponibilidade de uma única base de dados lógica em um cenário Multi-AZ com RPO próximo a zero em caso de falha da instância primária. Cada shard ainda precisaria de seu próprio mecanismo de HA (como o descrito na alternativa C).
Fonte: FGV CGE-SP 2025 Auditor Estadual de Controle - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.