Data Replication
Data replication은 가용성, 내구성 및 fault tolerance을 향상시키기 위해 여러 위치에 데이터의 복사본을 생성하며, 다양한 consistency guarantee를 가진 synchronous 또는 asynchronous 방식을 사용합니다.
Data replication은 단일 실패 지점을 줄이고 read throughput 및 disaster recovery를 개선하기 위해 여러 위치에 데이터를 분산합니다. 이는 synchronous replication (실시간으로 모든 복사본을 atomic하게 업데이트하여 strong consistency를 보장하지만 latency가 높음), asynchronous replication (commit 후에 복사본을 업데이트하여 write latency를 줄이지만 lag이 발생할 수 있음), 그리고 semi-synchronous replication (latency와 consistency의 균형을 맞추기 위해 복제본의 일부로부터 acknowledgment를 받음)을 지원합니다. 일반적인 topology에는 master-slave (primary-secondary), multi-master (active-active), peer-to-peer가 있습니다. 주요 과제에는 복제본 간의 data consistency 유지, multi-master 설정에서의 conflict 해결, network latency, clock skew, schema evolution 처리, 그리고 upgrade 중 data drift가 포함됩니다. Consistency management를 위한 기술에는 consensus protocols (예: Paxos, Raft), write-ahead logs, version vectors, 그리고 특정 데이터 유형에 대한 CRDTs가 있습니다. Replication strategy를 선택할 때는 RPO/RTO 목표, latency budget, bandwidth, data locality, 그리고 data replication, auditing 및 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;
🧒 5살도 이해할 수 있게 설명
Generated ELI5 content
🤓 Expert Deep Dive
Generated expert content
❓ 자주 묻는 질문
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.