| **Custo** | Geralmente mais caro. | Moderado. | **Mais acessível** para grandes volumes não estruturados. |
## Consistência Baseada em Quorum (Quorum-Based Consistency) O administrador pode posicionar um DBMS NoSQL no contínuo entre alta disponibilidade e consistência permanente manipulando os parâmetros R e W: * **N:** Número de nós para os quais o item de dado é replicado. * **R:** Quorum de Leitura. Número mínimo de nós que devem responder antes que uma leitura seja concluída. * **W:** Quorum de Escrita. Número mínimo de nós que devem receber o valor atualizado antes que a escrita seja concluída. **Garantia de Consistência:** A configuração **R + W > N** garante que o resultado de cada leitura contenha pelo menos uma réplica atualizada (evita conflitos de leitura-escrita).
--- # Tarefa Prática: Agregador de Notícias (S3) **Design:** Arquitetura de dados para um agregador global de notícias (dados primariamente indexados por tempo) utilizando apenas S3. 1. **Particionamento (Organização de Objetos):** * **Estratégia:** Particionamento por Intervalo (Data e Hora) via prefixo do objeto S3. * **Formato de Prefixo:** `yyyy/mm/dd/source_id/article_id` * **Justificativa:** Permite que consultas analíticas (e.g., notícias recentes) atinjam apenas um subconjunto específico de dados, otimizando o desempenho e custo de varredura. 2. **Políticas de Ciclo de Vida (Otimização de Custo):** * **Dados Recentes (0-30 dias):** S3 Standard (Acesso Imediato). * **Dados Antigos (30-90 dias):** Mover automaticamente para S3 Infrequent Access (Redução de custo com acesso moderado). * **Arquivo Histórico (> 90 dias):** Mover para S3 Glacier (Arquivamento de longo prazo). ---
# Exemplo: Arquitetura S3 e Consistência O S3 é um *object store* clássico. A resiliência é alcançada pela replicação do objeto em múltiplos dispositivos físicos. O modelo S3 adota **Consistência Eventual**. * **Passo 1 (Escrita):** O Cliente P1 envia a escrita `W1(x)a` para o coordenador S3. * **Passo 2 (Propagação Assíncrona):** O coordenador inicia a replicação do objeto `x='a'` para múltiplas réplicas (AZ-A, AZ-B, AZ-C). * **Passo 3 (Inconsistência Momentânea):** P3 lê `x='a'` na Réplica AZ-C (já atualizada). P2 lê `x='NIL'` na Réplica AZ-A, pois a propagação ainda está em curso. * **Conclusão:** O sistema garante que, na ausência de novas escritas, todas as réplicas eventualmente convergirão para o valor `a` (Consistência Eventual).