Data Replication

La Data Replication crée plusieurs copies de données à travers différents emplacements pour améliorer la disponibilité, la durabilité et la tolérance aux pannes, en utilisant des méthodes synchrones ou asynchrones avec des garanties de cohérence variables.

La Data Replication distribue les données sur plusieurs emplacements pour réduire les points de défaillance uniques et améliorer le débit de lecture ainsi que la reprise après sinistre. Elle supporte la replication synchrone (met à jour toutes les copies atomiquement en temps réel, assurant une forte cohérence mais une latence plus élevée), la replication asynchrone (met à jour les copies après le commit, réduisant la latence d'écriture mais permettant un décalage), et la replication semi-synchrone (accusé de réception d'un sous-ensemble de réplicas pour équilibrer latence et cohérence). Les topologies courantes incluent master-slave (primaire-secondaire), multi-master (actif-actif) et peer-to-peer. Les défis clés incluent le maintien de la cohérence des données entre les réplicas, la résolution des conflits dans les configurations multi-master, la gestion de la latence réseau, du décalage d'horloge et de l'évolution du schéma, ainsi que la dérive des données pendant les mises à niveau. Les techniques de gestion de la cohérence comprennent les protocoles de consensus (par exemple, Paxos, Raft), les write-ahead logs, les version vectors et les CRDTs pour des types de données spécifiques. Lors du choix d'une stratégie de replication, considérez les objectifs RPO/RTO, les budgets de latence, la bande passante, la localité des données et les exigences réglementaires relatives à la data replication, à l'audit et à la rétention.

        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-moi comme si j'avais 5 ans

Generated ELI5 content

🤓 Expert Deep Dive

Generated expert content

❓ Questions fréquentes

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.

📚 Sources