From cba55928d44618e9c8c466263cdb802571ec4692 Mon Sep 17 00:00:00 2001 From: Struchkov Mark Date: Thu, 11 Jul 2024 09:03:53 +0300 Subject: [PATCH] vault backup: 2024-07-11 09:03:53 --- .obsidian/plugins/home-tab/data.json | 18 +++++++++--------- .../plugins/recent-files-obsidian/data.json | 16 ++++++++-------- _inbox/Асинхронная репликация.md | 4 ++-- _inbox/Полу-синхронная репликация.md | 11 +++++------ 4 files changed, 24 insertions(+), 25 deletions(-) diff --git a/.obsidian/plugins/home-tab/data.json b/.obsidian/plugins/home-tab/data.json index 87a9e25f..1623e516 100644 --- a/.obsidian/plugins/home-tab/data.json +++ b/.obsidian/plugins/home-tab/data.json @@ -23,25 +23,25 @@ "markdownOnly": false, "unresolvedLinks": false, "recentFilesStore": [ + { + "filepath": "_inbox/Полу-синхронная репликация.md", + "timestamp": 1720677630745 + }, + { + "filepath": "_inbox/Репликация БД.md", + "timestamp": 1720677627454 + }, { "filepath": "_inbox/Асинхронная репликация.md", - "timestamp": 1720677527995 + "timestamp": 1720677623346 }, { "filepath": "_inbox/Отставание реплики в БД.md", "timestamp": 1720677527014 }, - { - "filepath": "_inbox/Репликация БД.md", - "timestamp": 1720677060354 - }, { "filepath": "_inbox/Синхронная репликация.md", "timestamp": 1720676657416 - }, - { - "filepath": "_inbox/Репликация master-master.md", - "timestamp": 1720676085556 } ], "bookmarkedFileStore": [], diff --git a/.obsidian/plugins/recent-files-obsidian/data.json b/.obsidian/plugins/recent-files-obsidian/data.json index e4ce35bd..848c218c 100644 --- a/.obsidian/plugins/recent-files-obsidian/data.json +++ b/.obsidian/plugins/recent-files-obsidian/data.json @@ -1,5 +1,13 @@ { "recentFiles": [ + { + "basename": "Полу-синхронная репликация", + "path": "_inbox/Полу-синхронная репликация.md" + }, + { + "basename": "Репликация БД", + "path": "_inbox/Репликация БД.md" + }, { "basename": "Асинхронная репликация", "path": "_inbox/Асинхронная репликация.md" @@ -8,10 +16,6 @@ "basename": "Отставание реплики в БД", "path": "_inbox/Отставание реплики в БД.md" }, - { - "basename": "Репликация БД", - "path": "_inbox/Репликация БД.md" - }, { "basename": "Синхронная репликация", "path": "_inbox/Синхронная репликация.md" @@ -195,10 +199,6 @@ { "basename": "Флаги очередей в RabbitMQ", "path": "_inbox/Флаги очередей в RabbitMQ.md" - }, - { - "basename": "Exchange", - "path": "_inbox/Exchange.md" } ], "omittedPaths": [], diff --git a/_inbox/Асинхронная репликация.md b/_inbox/Асинхронная репликация.md index 4c50e558..fb6b27d5 100644 --- a/_inbox/Асинхронная репликация.md +++ b/_inbox/Асинхронная репликация.md @@ -34,5 +34,5 @@ linked: **Минусы** - Потеря данных при сбое: Если master выходит из строя до пересылки изменений на реплики, данные могут быть потеряны. Это может привести к несогласованности данных и необходимости восстановления системы. -Отставание реплик: Задержка в применении изменений на репликах может привести к отставанию реплик от главного сервера, что может затруднить выполнение некоторых операций, требующих актуальных данных. -Проблемы с консистентностью данных: Каждая реплика может отставать по разному, из-за этого данные могут быть несогласованными между репликами. Например, пользователь может получить разные результаты для одного и того же запроса. \ No newline at end of file +- [Отставание реплики в БД](Отставание%20реплики%20в%20БД.md): Задержка в применении изменений на репликах может привести к отставанию реплик от master, что может затруднить выполнение некоторых операций, требующих актуальных данных. +- Проблемы с консистентностью данных: Каждая реплика может отставать по разному, из-за этого данные могут быть несогласованными между репликами. Например, пользователь может получить разные результаты для одного и того же запроса. \ No newline at end of file diff --git a/_inbox/Полу-синхронная репликация.md b/_inbox/Полу-синхронная репликация.md index d7f95b79..f4c25742 100644 --- a/_inbox/Полу-синхронная репликация.md +++ b/_inbox/Полу-синхронная репликация.md @@ -19,12 +19,11 @@ linked: Схема выполнения на MySQL ![](Pasted%20image%2020240206195639.png) **Как работает** -- Подготовка транзакции в движке БД -- Запись транзакции в лог -- Завершение транзакции в движке БД -- Пересылка лога репликам -- Возврат результата клиенту -- Воспроизведение транзакции на репликах +- Подготовка транзакции в движке БД: Транзакция начинается на master, где собираются все изменения данных. +- Запись транзакции в лог: Все изменения записываются в журнал транзакций. +- Пересылка лога репликам: Журнал транзакций отправляется на реплики. Master ждет подтверждения от как минимум одной реплики о получении журнала, но не обязательно его применении. +- Завершение транзакции в движке БД: После получения подтверждения от одной или нескольких реплик транзакция завершается на master, и клиент получает подтверждение. +- Воспроизведение транзакции на репликах: Реплики применяют полученные изменения к своим копиям данных, но это может произойти с задержкой. **Минусы** - Проблемы консистентности данных. [Фантомное чтение](Фантомное%20чтение.md). \ No newline at end of file