digital-garden/dev/database/mysql/Row Based Replication (RBR).md

2.4 KiB
Raw Blame History

aliases tags date zero-link parents linked
RBR
maturity/🌱
2024-06-02
../../../meta/zero/00 MySQL
Репликация в MySQL
Statement Based Replication (SBR)

От мастера к слейву отправляются только измененные строки, сам результат изменений. Основан на журнале Row-based Binary Log.

RBR имеет три режима работы:

  • full: При изменении сохраняются все колонки (до изменения и после), даже если в них не было изменений. Такой режим потребляет много памяти.
  • noblob: Работает как full, но не передает изменения BLOB и TEXT колонок.
  • minimal: При изменении строки сохраняются только измененные колонки и колонки Primary Keys.

Плюсы:

  • Детерминированность: Запрос выполняется на master, а slave получает уже результат. Это устраняет проблемы, связанные с недетерминированными функциями, как в SBR.
  • Бинарный формат

Минусы:

  • Бинарный формат: Прочитать глазами уже не получится. Однако, есть утилита mysqlbinlog -v, которая позволяет читать журнал.
  • Большое потребление памяти: Потребляет больше памяти, чем SBR, так как нужно сохранять изменения строк до и после.
    • в mysql есть binlog_row_image, который решает эту проблему

Мета информация

Область:: ../../../meta/zero/00 MySQL Родитель:: Репликация в MySQL Источник:: Автор:: Создана:: 2024-06-02

Дополнительные материалы

Дочерние заметки