Replicação em Bancos de Dados Distribuídos
Gabarito: letra C (Apenas I, II e III). As assertivas I, II e III descrevem corretamente características da replicação: aumento de disponibilidade e paralelismo, mas com sobrecarga em atualizações (I); disponibilidade por falha de servidor (II); e necessidade de resolução de conflitos na replicação multimaster (III). A assertiva IV é falsa, pois a propagação preguiçosa (lazy) não garante consistência forte – ela atrasa a propagação, ao contrário da propagação síncrona (eager).
Assertiva | Descrição | Correta? | Justificativa |
|---|
I | A replicação aumenta a disponibilidade e o paralelismo em consultas, mas gera sobrecarga nas atualizações. | ✅ Sim | Mantém cópias em múltiplos nós, permitindo consultas paralelas e alta disponibilidade, porém atualizações precisam ser propagadas a todas as réplicas, gerando sobrecarga. |
II | A replicação aumenta a disponibilidade pois, em caso de falha de um servidor, os dados podem ser acessados em outro. | ✅ Sim | Afirmação direta: réplicas em servidores distintos garantem acesso alternativo em caso de falha. |
III | Na replicação multimaster (update-anywhere), atualizações podem ser feitas em qualquer réplica, podendo demandar resolução de conflitos que desfaça/compense alterações já aplicadas em alguma réplica. | ✅ Sim | No modelo multimaster, atualizações concorrentes podem gerar conflitos, cuja resolução pode exigir desfazer ou compensar alterações. |
IV | A propagação preguiçosa (lazy propagation) garante consistência forte, pois todas as réplicas são atualizadas imediatamente. | ❌ Não | Propagação preguiçosa atrasa a atualização, não garantindo consistência forte; consistência forte exige propagação síncrona (eager). |
Assertiva I — ✅ Correta
A replicação mantém cópias dos dados em múltiplos nós. Isso aumenta a disponibilidade (se um nó falha, outro atende) e permite paralelismo em consultas (consultas podem ser distribuídas entre réplicas). Como contrapartida, as operações de atualização precisam ser propagadas para todas as réplicas, gerando sobrecarga adicional.
Assertiva II — ✅ Correta
A afirmação é direta: a replicação aumenta a disponibilidade porque, em caso de falha de um servidor, os dados permanecem acessíveis em outro servidor que contém a réplica.
Assertiva III — ✅ Correta
No modelo multimaster (update-anywhere), qualquer réplica pode aceitar atualizações. Isso pode gerar conflitos quando duas réplicas são atualizadas concorrentemente. A resolução desses conflitos pode envolver desfazer ou compensar alterações já aplicadas, garantindo a consistência final.
Assertiva IV — ❌ Incorreta (gabarito da questão, pois a banca pede a incorreta? Na verdade, aqui a assertiva é falsa, então é uma das incorretas. Como o gabarito da questão é a combinação I,II,III, a IV é a única falsa.)
A propagação preguiçosa (lazy) não é imediata; ela atrasa a propagação das atualizações para as réplicas. Isso não garante consistência forte, pois podem existir janelas de inconsistência. A consistência forte exige propagação síncrona (eager), em que todas as réplicas são atualizadas imediatamente na mesma transação.
Gabarito: letra C – Apenas I, II e III.