Синхронізація даних (Data Synchronization)

Синхронізація — це процес забезпечення ідентичності даних у різних системах або на різних пристроях.

Modes: 1. One-way (Mirroring). 2. Two-way (Bidirectional). 3. Continuous (Real-time). Techniques: File-level vs Block-level sync, delta encoding, version vectors, last-writer-wins resolution.

        graph LR
  Center["Синхронізація даних (Data Synchronization)"]:::main
  Rel_synthetic_biology["synthetic-biology"]:::related -.-> Center
  click Rel_synthetic_biology "/terms/synthetic-biology"
  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

На технічному рівні головна проблема — це 'Конфлікти редагування'. Якщо два користувачі змінили один і той же рядок в офлайні, а потім підключилися до мережі, система має вирішити, чиї зміни зберегти. Для цього використовуються 'Векторні годинники' (Vector Clocks) або 'CRDTs' (Conflict-free Replicated Data Types) — спеціальні типи даних, які дозволяють автоматично об'єднувати зміни без ризику втрати інформації.

📚 Джерела