Догоняй, catchup! Как быстро синхронизировать отставшие MongoDB-совместимые реплики

Базы данных и системы хранения

MongoDB
Базы данных / другое
Разработка библиотек, включая open source библиотеки
Хранилища
Обработка данных

Программный комитет ещё не принял решения по этому докладу

Целевая аудитория

Разработчики, администраторы баз данных

Тезисы

Для репликации хостов кластера, MongoDB использует механизм, который называется oplog; он обеспечивает синхронизацию данных, а также не позволяет репликам сильно отставать от мастера. Однако, иногда, одна или несколько нод кластера могут отстать слишком сильно, после чего администратору приходится вручную инициировать полную синхронизацию ноды, которая в документации красиво зовётся "Initial Sync".

За красивым названием кроется самая примитивная реализация: пользователь вручную удаляет все данные с хоста, после чего реплика качает эти данные с одного из свежих хостов

Нам в Облаке не нравилось, что отставшая нода, полностью переналивается, излишне нагружая кластер и увеличивая время частичной недоступности кластера. Мы хотели ускорить добавление в кластер новых хостов, и, что особенно важно, возвращение полной доступности кластера после проблем с сетью или учений. В докладе расскажу, как мы использовали механизм репликации для ускорения восстановления, и как вы можете использовать нашу реализацию в своих инсталляциях.

Разработчик нереляционных баз данных в Yandex Cloud. Делаю StoreDoc и Managed Valkey.

Видео

Другие доклады секции

Базы данных и системы хранения