Встречается на собеседованиях • сегодня

Когда следует использовать master-slave в БД

Master-slave репликация в БД применяется для:

  1. Масштабирования чтения — slave-узлы обрабатывают read-запросы, разгружая master.
  2. Отказоустойчивости — при падении master можно переключиться на slave.
  3. Резервного копирования — slave может использоваться для бэкапов без нагрузки на master.

Ограничения:

  • Запись всегда идет только в master (риск single point of failure).
  • Репликация асинхронна — возможны задержки данных на slave.

Пример: Чтение из slave в Django:

python
DATABASES = {
    'default': {  # master
        'ENGINE': 'django.db.backends.postgresql',
        'HOST': 'master.db.example.com',
    },
    'replica': {  # slave
        'ENGINE': 'django.db.backends.postgresql',
        'HOST': 'slave.db.example.com',
    }
}

# Ручное указание реплики для чтения
users = User.objects.using('replica').filter(is_active=True)

Альтернативы: master-master (но сложнее в поддержке) или современные решения типа PostgreSQL с логической репликацией.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы