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

31 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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 - при изменении строки сохраняются только измененные колонки и колонки ПК
**Плюсы:**
- Детерминирован. Запрос выполняется на master, а slave получают уже результат
- Бинарный формат
**Минусы:**
- Не человеко-читаемый
- Есть утилита `mysqlbinlog -v`, которая позволяет читать журнал
- При изменении одного поля у записи отправляется вся запись целиком
- в mysql есть binlog_row_image, который решает эту проблему