Синхронизация данных (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

В высоконагруженных системах часто используется 'Оптимистичная синхронизация'. Система позволяет вносить изменения без немедленной проверки, предполагая, что конфликтов не будет. Если же конфликт случается (Collision), выполняется 'откат' (Rollback) или слияние. Это гораздо быстрее, чем 'Пессимистичная' блокировка, которая запрещает всем доступ к данным, пока один человек их редактирует. Понимание 'Задержки репликации' (Replication Lag) является ключевым для разработчиков бэкенда — иногда пользователь может обновить страницу и не увидеть своего изменения, потому что данные еще не 'успели' синхронизироваться со вторым сервером.

📚 Источники