Data Replication

Data-Replikation erstellt mehrere Kopien von Daten an verschiedenen Orten, um Verfügbarkeit, Dauerhaftigkeit und Fehlertoleranz zu verbessern, wobei synchrone oder asynchrone Methoden mit unterschiedlichen Konsistenzgarantien verwendet werden.

Data-Replikation verteilt Daten über mehrere Standorte, um Single Points of Failure zu reduzieren und den Read-Throughput sowie die Disaster Recovery zu verbessern. Sie unterstützt synchrone Replikation (aktualisiert alle Kopien atomar in Echtzeit, gewährleistet starke Konsistenz, aber höhere Latenz), asynchrone Replikation (aktualisiert Kopien nach dem Commit, reduziert die Schreiblatenz, erlaubt aber Verzögerungen) und semi-synchrone Replikation (Bestätigung von einer Teilmenge von Replicas, um Latenz und Konsistenz auszugleichen). Gängige Topologien umfassen Master-Slave (Primary-Secondary), Multi-Master (Active-Active) und Peer-to-Peer. Zu den wichtigsten Herausforderungen gehören die Aufrechterhaltung der Datenkonsistenz über Replicas hinweg, die Auflösung von Konflikten in Multi-Master-Setups, die Handhabung von Netzwerklatenz, Clock Skew und Schema Evolution sowie Data Drift während Upgrades. Techniken für das Konsistenzmanagement umfassen Konsensprotokolle (z. B. Paxos, Raft), Write-Ahead Logs, Version Vectors und CRDTs für bestimmte Datentypen. Bei der Auswahl einer Replikationsstrategie sollten RPO/RTO-Ziele, Latenzbudgets, Bandbreite, Datenlokalität und regulatorische Anforderungen in Bezug auf Data-Replikation, Auditing und Retention berücksichtigt werden.

        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;

      

🧒 Erkläre es wie einem 5-Jährigen

Generated ELI5 content

🤓 Expert Deep Dive

Generated expert content

❓ Häufig gestellte Fragen

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.

📚 Quellen