Replikacja danych
Replikacja danych tworzy wiele kopii danych w różnych lokalizacjach w celu zwiększenia dostępności, trwałości i odporności na awarie, wykorzystując metody synchroniczne lub asynchroniczne z różnymi gwarancjami spójności.
Replikacja danych dystrybuuje dane między wieloma lokalizacjami w celu zmniejszenia pojedynczych punktów awarii oraz poprawy przepustowości odczytu i odzyskiwania po awarii. Obsługuje replikację synchroniczną (atomowo aktualizuje wszystkie kopie w czasie rzeczywistym, zapewniając silną spójność, ale wyższe opóźnienia), replikację asynchroniczną (aktualizuje kopie po zatwierdzeniu, zmniejszając opóźnienia zapisu, ale dopuszczając opóźnienia) i replikację półsynchroniczną (potwierdzenie od podzbioru replik w celu zrównoważenia opóźnień i spójności). Typowe topologie obejmują master-slave (primary-secondary), multi-master (active-active) i peer-to-peer. Kluczowe wyzwania obejmują utrzymanie spójności danych między replikami, rozwiązywanie konfliktów w konfiguracjach multi-master, obsługę opóźnień sieciowych, przesunięć zegarów i ewolucji schematów, a także dryfu danych podczas aktualizacji. Techniki zarządzania spójnością obejmują protokoły konsensusu (np. Paxos, Raft), write-ahead logs, wektory wersji i CRDTs dla określonych typów danych. Wybierając strategię replikacji, należy wziąć pod uwagę cele RPO/RTO, budżety opóźnień, przepustowość, lokalizację danych oraz wymogi regulacyjne dotyczące replikacji danych, audytu i retencji.
graph LR
Center["Replikacja danych"]:::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;
🧒 Wyjaśnij jak 5-latkowi
Generated ELI5 content
🤓 Expert Deep Dive
Generated expert content
❓ Częste pytania
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.