diff --git a/.obsidian/plugins/home-tab/data.json b/.obsidian/plugins/home-tab/data.json index 1623e516..785db9be 100644 --- a/.obsidian/plugins/home-tab/data.json +++ b/.obsidian/plugins/home-tab/data.json @@ -23,6 +23,10 @@ "markdownOnly": false, "unresolvedLinks": false, "recentFilesStore": [ + { + "filepath": "_inbox/Асинхронная репликация.md", + "timestamp": 1720677956219 + }, { "filepath": "_inbox/Полу-синхронная репликация.md", "timestamp": 1720677630745 @@ -31,10 +35,6 @@ "filepath": "_inbox/Репликация БД.md", "timestamp": 1720677627454 }, - { - "filepath": "_inbox/Асинхронная репликация.md", - "timestamp": 1720677623346 - }, { "filepath": "_inbox/Отставание реплики в БД.md", "timestamp": 1720677527014 diff --git a/.obsidian/plugins/recent-files-obsidian/data.json b/.obsidian/plugins/recent-files-obsidian/data.json index 848c218c..64a7ffe3 100644 --- a/.obsidian/plugins/recent-files-obsidian/data.json +++ b/.obsidian/plugins/recent-files-obsidian/data.json @@ -1,5 +1,9 @@ { "recentFiles": [ + { + "basename": "Асинхронная репликация", + "path": "_inbox/Асинхронная репликация.md" + }, { "basename": "Полу-синхронная репликация", "path": "_inbox/Полу-синхронная репликация.md" @@ -8,10 +12,6 @@ "basename": "Репликация БД", "path": "_inbox/Репликация БД.md" }, - { - "basename": "Асинхронная репликация", - "path": "_inbox/Асинхронная репликация.md" - }, { "basename": "Отставание реплики в БД", "path": "_inbox/Отставание реплики в БД.md" diff --git a/_inbox/Асинхронная репликация.md b/_inbox/Асинхронная репликация.md index fb6b27d5..aa3c67ae 100644 --- a/_inbox/Асинхронная репликация.md +++ b/_inbox/Асинхронная репликация.md @@ -35,4 +35,7 @@ linked: **Минусы** - Потеря данных при сбое: Если master выходит из строя до пересылки изменений на реплики, данные могут быть потеряны. Это может привести к несогласованности данных и необходимости восстановления системы. - [Отставание реплики в БД](Отставание%20реплики%20в%20БД.md): Задержка в применении изменений на репликах может привести к отставанию реплик от master, что может затруднить выполнение некоторых операций, требующих актуальных данных. -- Проблемы с консистентностью данных: Каждая реплика может отставать по разному, из-за этого данные могут быть несогласованными между репликами. Например, пользователь может получить разные результаты для одного и того же запроса. \ No newline at end of file +- Проблемы с консистентностью данных: Каждая реплика может отставать по разному, из-за этого данные могут быть несогласованными между репликами. Например, пользователь может получить разные результаты для одного и того же запроса. + +## Примеры использования +Асинхронная репликация широко используется в системах, где высокая производительность и низкое время отклика имеют приоритет над полной консистентностью данных. Например, в системах аналитики и отчетности, где задержки в обновлении данных не критичны, асинхронная репликация позволяет эффективно распределять нагрузку и использовать реплики для выполнения сложных запросов, не влияя на производительность основного сервера. \ No newline at end of file diff --git a/_inbox/Полу-синхронная репликация.md b/_inbox/Полу-синхронная репликация.md index f4c25742..89af69ce 100644 --- a/_inbox/Полу-синхронная репликация.md +++ b/_inbox/Полу-синхронная репликация.md @@ -25,5 +25,15 @@ linked: - Завершение транзакции в движке БД: После получения подтверждения от одной или нескольких реплик транзакция завершается на master, и клиент получает подтверждение. - Воспроизведение транзакции на репликах: Реплики применяют полученные изменения к своим копиям данных, но это может произойти с задержкой. +**Преимущества** +- Баланс между надежностью и производительностью: Полу-синхронная репликация обеспечивает более высокую надежность данных по сравнению с асинхронной репликацией, так как master ждет подтверждения от реплик перед завершением транзакции. Это снижает риск потери данных при сбое. +- Сниженное время отклика: В отличие от синхронной репликации, master не ждет подтверждения от всех реплик, что снижает время отклика и повышает производительность системы. +- Меньшая вероятность отставания данных: Благодаря ожиданию подтверждения от реплик перед завершением транзакции, вероятность отставания данных на репликах уменьшается. + **Минусы** -- Проблемы консистентности данных. [Фантомное чтение](Фантомное%20чтение.md). \ No newline at end of file +- Проблемы с консистентностью данных: Хотя master ждет подтверждения от одной или нескольких реплик, данные на других репликах могут оставаться несогласованными до применения изменений, что может привести к проблемам с консистентностью. [Фантомное чтение](Фантомное%20чтение.md). +- Сложность управления: Полу-синхронная репликация требует более сложной настройки и управления по сравнению с асинхронной репликацией, так как необходимо следить за подтверждениями от реплик и управлять задержками. +- Увеличенное время отклика по сравнению с асинхронной репликацией: Несмотря на снижение времени отклика по сравнению с синхронной репликацией, полу-синхронная репликация все же медленнее асинхронной, так как требует ожидания подтверждений от реплик. + +## Примеры использования +Полу-синхронная репликация часто используется в системах, где требуется баланс между надежностью данных и производительностью. Например, в финансовых системах, где важна высокая доступность и консистентность данных, но при этом необходимо обеспечить приемлемое время отклика для клиентов. Полу-синхронная репликация позволяет снизить риск потери данных при сбоях и поддерживать консистентность данных на более высоком уровне, чем асинхронная репликация. \ No newline at end of file