Data Replication

Data replication cria múltiplas cópias de dados em diferentes locais para aumentar a disponibilidade, durabilidade e tolerância a falhas, utilizando métodos síncronos ou assíncronos com diferentes garantias de consistência.

Data replication distribui dados em múltiplos locais para reduzir pontos únicos de falha e para melhorar o read throughput e o disaster recovery. Suporta synchronous replication (atualiza todas as cópias atomicamente em tempo real, garantindo strong consistency mas com maior latency), asynchronous replication (atualiza cópias após o commit, reduzindo write latency mas permitindo lag), e semi-synchronous replication (confirmação de um subconjunto de réplicas para balancear latency e consistência). Topologias comuns incluem master-slave (primary-secondary), multi-master (active-active), e peer-to-peer. Desafios chave incluem manter a data consistency entre réplicas, resolver conflicts em multi-master setups, lidar com network latency, clock skew, e schema evolution, assim como data drift durante upgrades. Técnicas para consistency management incluem consensus protocols (e.g., Paxos, Raft), write-ahead logs, version vectors, e CRDTs para tipos de dados específicos. Ao escolher uma replication strategy, considere RPO/RTO targets, latency budgets, bandwidth, data locality, e requisitos regulatórios relacionados a data replication, auditing, e retention.

        graph LR
  Center["Data Replication"]:::main
  Rel_data_recovery["data-recovery"]:::related -.-> Center
  click Rel_data_recovery "/terms/data-recovery"
  Rel_data_obfuscation["data-obfuscation"]:::related -.-> Center
  click Rel_data_obfuscation "/terms/data-obfuscation"
  Rel_data_integrity["data-integrity"]:::related -.-> Center
  click Rel_data_integrity "/terms/data-integrity"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Explique como se eu tivesse 5 anos

Generated ELI5 content

🤓 Expert Deep Dive

Generated expert content

❓ Perguntas frequentes

What is the purpose of data replication?

To increase availability, reliability, and fault tolerance by maintaining multiple copies of data in separate locations, enabling failover, disaster recovery, load distribution, and durability.

What are the main types of replication?

Synchronous (updates all replicas atomically), semi-synchronous (acknowledgment from some replicas), and asynchronous (updates copied later).

What is conflict resolution in replication?

In multi-master setups, concurrent writes may conflict; use last-writer-wins, version vectors, CRDTs, or application-specific strategies.

What is replication lag?

The delay between a write and its propagation to replicas, affecting read freshness.

What are common replication topologies?

Master-slave/primary-secondary, multi-master/active-active, and peer-to-peer.

Are CRDTs always suitable?

CRDTs help with certain data types and operations; not all data models benefit; require careful data design.

📚 Fontes