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