Реплікація даних (Data Replication)
Процес зберігання ідентичних копій даних на кількох серверах для підвищення доступності, відмовостійкості та швидкості читання.
Типові топології включають Primary-Secondary (запис лише на головний вузол) та Active-Active (запис на всі вузли, вимагає складного вирішення конфліктів, наприклад, через CRDT).
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;
🧒 Простими словами
Уявіть, що у вас є секретний рецепт в одному зошиті. Якщо собака з'їсть зошит, рецепт зникне. Реплікація — це як роздати копії рецепта п'ятьом друзям з різних міст. Якщо ваш зошит згорить, у друзів залишиться копія. Але якщо ви зміните кількість солі, доведеться обдзвонити всіх, щоб вони оновили свої копії.
🤓 Expert Deep Dive
Теорема CAP: під час розділення мережі (Partition) система повинна вибирати між Узгодженістю (Consistency) та Доступністю (Availability). Стратегії: 1. Синхронна (гарантує узгодженість, але висока затримка). 2. Асинхронна (низька затримка, але ризик втрати даних, узгодженість у кінцевому підсумку — eventual consistency). 3. На базі консенсусу (Raft, Paxos), що вимагає кворуму. Блокчейни використовують асинхронну P2P реплікацію з імовірнісним консенсусом (наприклад, PoW).
❓ Часті питання
Why do databases use data replication?
To prevent data loss if a server crashes (fault tolerance), and to allow more people to read the data simultaneously without overloading a single server.
What is the difference between synchronous and asynchronous replication?
Synchronous replication makes sure every copy is updated before finishing a task (slower but safer). Asynchronous replication finishes the task immediately and updates the copies in the background (faster, but risks data loss if it crashes before syncing).
Is a blockchain a replicated database?
Yes. A blockchain is a decentralized, peer-to-peer replicated database. Every full node on the network holds a complete, identical copy of the entire transaction history.