Реплікація даних (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.

📚 Джерела