От мастера к слейву отправляются только измененные строки, сам результат изменений. Основан на журнале Row-based Binary Log.
RBR имеет три режима работы:
- full: При изменении сохраняются все колонки (до изменения и после), даже если в них не было изменений. Такой режим потребляет много памяти.
- noblob: Работает как full, но не передает изменения BLOB и TEXT колонок.
- minimal: При изменении строки сохраняются только измененные колонки и колонки Primary Keys.
Плюсы:
- Детерминированность: Запрос выполняется на master, а slave получает уже результат. Это устраняет проблемы, связанные с недетерминированными функциями, как в SBR.
- Бинарный формат
Минусы:
- Бинарный формат: Прочитать глазами уже не получится. Однако, есть утилита
mysqlbinlog -v
, которая позволяет читать журнал. - Большое потребление памяти: Потребляет больше памяти, чем SBR, так как нужно сохранять изменения строк до и после.
- в mysql есть binlog_row_image, который решает эту проблему
Мета информация
Область:: 00 MySQL
Родитель:: Репликация в MySQL
Источник::
Автор::
Создана:: 2024-06-02