digital-garden/_inbox/Row Based Replication (RBR).md

32 lines
1.6 KiB
Markdown
Raw Normal View History

2024-06-13 21:01:37 +03:00
---
aliases:
- RBR
tags:
- зрелость/🌱
date:
- - 2024-06-02
zero-link:
- "[[00 MySQL]]"
parents:
- "[[Репликация в MySQL]]"
linked:
- "[[Statement Based Replication (SBR)]]"
---
От мастера к слейву отправляются только измененные строки, сам результат изменений. Основан на журнале [Row-based Binary Log](Журналы%20в%20MySQL.md#Row-based%20Binary%20Log).
Есть три режима работы:
- full - при изменении сохраняются все колонки (до изменения и после), даже если в них не было изменений. Потребляет много памяти.
- noblob - работает как full, но не передает изменения BLOB и TEXT колонок
- minimal - при изменении строки сохраняются только измененные колонки и колонки ПК
**Плюсы:**
- Детерминирован.
- Бинарный формат
- Запрос выполняется на мастер ноде, а слейвы получают уже результат
**Минусы:**
- Не человеко-читаемый
- Есть утилита `mysqlbinlog -v`, которая позволяет читать журнал
- При изменении одного поля у записи отправляется вся запись целиком
- в mysql есть binlog_row_image, который решает эту проблему