vault backup: 2024-07-11 08:48:53

This commit is contained in:
Struchkov Mark 2024-07-11 08:48:53 +03:00
parent de9a10e1c6
commit 9abe4ec094
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
3 changed files with 24 additions and 23 deletions

View File

@ -24,12 +24,16 @@
"unresolvedLinks": false, "unresolvedLinks": false,
"recentFilesStore": [ "recentFilesStore": [
{ {
"filepath": "_inbox/Репликация master-master.md", "filepath": "_inbox/Синхронная репликация.md",
"timestamp": 1720676085556 "timestamp": 1720676657416
}, },
{ {
"filepath": "_inbox/Репликация БД.md", "filepath": "_inbox/Репликация БД.md",
"timestamp": 1720676082682 "timestamp": 1720676654276
},
{
"filepath": "_inbox/Репликация master-master.md",
"timestamp": 1720676085556
}, },
{ {
"filepath": "_inbox/Журналы в MySQL.md", "filepath": "_inbox/Журналы в MySQL.md",
@ -38,10 +42,6 @@
{ {
"filepath": "_inbox/Write-Ahead Log.md", "filepath": "_inbox/Write-Ahead Log.md",
"timestamp": 1720675855378 "timestamp": 1720675855378
},
{
"filepath": "_inbox/Журнал БД.md",
"timestamp": 1720675813187
} }
], ],
"bookmarkedFileStore": [], "bookmarkedFileStore": [],

View File

@ -1,13 +1,17 @@
{ {
"recentFiles": [ "recentFiles": [
{ {
"basename": "Репликация master-master", "basename": "Синхронная репликация",
"path": "_inbox/Репликация master-master.md" "path": "_inbox/Синхронная репликация.md"
}, },
{ {
"basename": "Репликация БД", "basename": "Репликация БД",
"path": "_inbox/Репликация БД.md" "path": "_inbox/Репликация БД.md"
}, },
{
"basename": "Репликация master-master",
"path": "_inbox/Репликация master-master.md"
},
{ {
"basename": "Журналы в MySQL", "basename": "Журналы в MySQL",
"path": "_inbox/Журналы в MySQL.md" "path": "_inbox/Журналы в MySQL.md"
@ -195,10 +199,6 @@
{ {
"basename": "Exchange Topics", "basename": "Exchange Topics",
"path": "_inbox/Exchange Topics.md" "path": "_inbox/Exchange Topics.md"
},
{
"basename": "Exchange Headers",
"path": "_inbox/Exchange Headers.md"
} }
], ],
"omittedPaths": [], "omittedPaths": [],

View File

@ -12,21 +12,22 @@ linked:
- "[[Асинхронная репликация]]" - "[[Асинхронная репликация]]"
- "[[Полу-синхронная репликация]]" - "[[Полу-синхронная репликация]]"
--- ---
Если коммит прошел, то он прошел на всех репликах. Работает надежно, но медленно. При получении запроса от клиента master ожидает, пока все реплики получат новые данные и подтвердят их применение у себя, и только после этого сообщает клиенту, что запрос успешно выполнен. Работает надежно, но медленно.
Реализовано в [PostgreSQL](00%20PostgreSQL.md). Реализовано в [PostgreSQL](00%20PostgreSQL.md).
**Как работает**: **Как работает**:
- Подготовка транзакции в движке БД - Подготовка транзакции в движке БД: Транзакция начинается на главном сервере (мастере), где собираются все изменения данных.
- Запись транзакции в лог - Запись транзакции в лог: Все изменения записываются в журнал транзакций, что обеспечивает возможность восстановления данных в случае сбоя.
- Пересылка лога репликам - Пересылка лога репликам: Журнал транзакций отправляется на все реплики для синхронного применения изменений.
- Выполнение транзакций на репликах - Выполнение транзакций на репликах: Реплики применяют полученные изменения к своим копиям данных.
- Завершение транзакции в движке БД - Завершение транзакции в движке БД: После успешного применения изменений на всех репликах транзакция завершается.
- Возврат результата клиенту - Возврат результата клиенту: Клиент получает подтверждение о завершении транзакции только после того, как изменения применены на всех репликах.
**Плюсы:** **Плюсы:**
- Надежная. Данные не теряются из-за сбоя. - Высокая надежность данных: Данные не теряются даже в случае сбоя одного из серверов, так как изменения применяются на всех репликах одновременно.
- Консистентность данных: Обеспечивается консистентность данных на всех репликах, что исключает возможность получения различных результатов для одного и того же запроса.
**Минусы:** **Минусы:**
- Увеличивается время отклика. Ждем подтверждение от всех узлов - Увеличенное время отклика: Поскольку подтверждение транзакции возвращается клиенту только после её завершения на всех репликах, время отклика увеличивается. Это может негативно сказаться на производительности системы, особенно при большом количестве реплик.
- Вероятность сбоя увеличивается с увеличением количества узлов. Общая вероятность сбоя это перемножение вероятности сбоя каждого узла. - Высокая вероятность сбоев: С увеличением числа реплик общая вероятность сбоя возрастает, так как транзакция завершается только при успешном выполнении на всех репликах. Если хотя бы одна реплика не отвечает, транзакция не может быть завершена.