30 lines
1.3 KiB
Markdown
30 lines
1.3 KiB
Markdown
---
|
||
aliases:
|
||
tags:
|
||
- зрелость/🌱
|
||
date:
|
||
- - 2024-06-07
|
||
zero-link:
|
||
- "[[00 Базы Данных]]"
|
||
parents:
|
||
- "[[Репликация БД]]"
|
||
linked:
|
||
- "[[Асинхронная репликация]]"
|
||
- "[[Синхронная репликация]]"
|
||
---
|
||
Полусинхронная (semi-sync). Комит прошел на одной реплике, но данные по транзакции были скопированы во все остальные реплики, но еще не были применены.
|
||
|
||
Реализовано в [MySQL](00%20MySQL.md)
|
||
|
||
Схема выполнения на MySQL ![](Pasted%20image%2020240206195639.png)
|
||
|
||
**Как работает**
|
||
- Подготовка транзакции в движке БД
|
||
- Запись транзакции в лог
|
||
- Завершение транзакции в движке БД
|
||
- Пересылка лога репликам
|
||
- Возврат результата клиенту
|
||
- Воспроизведение транзакции на репликах
|
||
|
||
**Минусы**
|
||
- Проблемы консистентности данных. [Фантомное чтение](Проблемы%20при%20параллельном%20выполнении%20нескольких%20транзакций.md) |