Назад к вопросам
Junior
100
questionbank

Что такое репликация в контексте баз данных и приложений?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Репликация — это процесс создания и поддержания нескольких копий данных базы данных или состояния приложения на разных серверах.

Цели репликации:

  • Повышение доступности (High Availability): При выходе из строя одного сервера, другие реплики могут продолжить обслуживать запросы.
  • Улучшение масштабируемости (Scalability): Читающие запросы могут распределяться между репликами, снижая нагрузку на основной сервер.
  • Географическое распределение (Disaster Recovery): Реплики могут находиться в разных дата-центрах для защиты от локальных сбоев.
  • Уменьшение задержек (Latency): Пользователи могут читать данные из ближайшей к ним реплики.

Типы репликации:

  • Синхронная: Изменения записываются на все реплики до того, как транзакция подтверждается клиенту. Обеспечивает сильную консистентность, но может увеличивать задержку записи.
  • Асинхронная: Транзакция подтверждается клиенту после записи на основной сервер. Реплики обновляются позже. Обеспечивает более высокую производительность записи, но возможна временная рассогласованность данных.

Режимы репликации:

  • Master-Replica (или Master-Slave): Одна реплика (master) принимает все записывающие операции, а остальные (replicas) только читающие, получая изменения от master.
  • Multi-Master: Несколько реплик могут принимать записывающие операции. Требует механизма разрешения конфликтов.

В контексте приложений, репликация может относиться к созданию нескольких экземпляров приложения (сервисов) для тех же целей: повышения доступности и масштабируемости. Например, запуск нескольких подов в Kubernetes, каждый из которых является репликой одного и того же сервиса.