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

This commit is contained in:
Struchkov Mark 2024-07-11 09:08:53 +03:00
parent cba55928d4
commit 1e91f4bbf1
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
4 changed files with 23 additions and 10 deletions

View File

@ -23,6 +23,10 @@
"markdownOnly": false, "markdownOnly": false,
"unresolvedLinks": false, "unresolvedLinks": false,
"recentFilesStore": [ "recentFilesStore": [
{
"filepath": "_inbox/Асинхронная репликация.md",
"timestamp": 1720677956219
},
{ {
"filepath": "_inbox/Полу-синхронная репликация.md", "filepath": "_inbox/Полу-синхронная репликация.md",
"timestamp": 1720677630745 "timestamp": 1720677630745
@ -31,10 +35,6 @@
"filepath": "_inbox/Репликация БД.md", "filepath": "_inbox/Репликация БД.md",
"timestamp": 1720677627454 "timestamp": 1720677627454
}, },
{
"filepath": "_inbox/Асинхронная репликация.md",
"timestamp": 1720677623346
},
{ {
"filepath": "_inbox/Отставание реплики в БД.md", "filepath": "_inbox/Отставание реплики в БД.md",
"timestamp": 1720677527014 "timestamp": 1720677527014

View File

@ -1,5 +1,9 @@
{ {
"recentFiles": [ "recentFiles": [
{
"basename": "Асинхронная репликация",
"path": "_inbox/Асинхронная репликация.md"
},
{ {
"basename": "Полу-синхронная репликация", "basename": "Полу-синхронная репликация",
"path": "_inbox/Полу-синхронная репликация.md" "path": "_inbox/Полу-синхронная репликация.md"
@ -8,10 +12,6 @@
"basename": "Репликация БД", "basename": "Репликация БД",
"path": "_inbox/Репликация БД.md" "path": "_inbox/Репликация БД.md"
}, },
{
"basename": "Асинхронная репликация",
"path": "_inbox/Асинхронная репликация.md"
},
{ {
"basename": "Отставание реплики в БД", "basename": "Отставание реплики в БД",
"path": "_inbox/Отставание реплики в БД.md" "path": "_inbox/Отставание реплики в БД.md"

View File

@ -35,4 +35,7 @@ linked:
**Минусы** **Минусы**
- Потеря данных при сбое: Если master выходит из строя до пересылки изменений на реплики, данные могут быть потеряны. Это может привести к несогласованности данных и необходимости восстановления системы. - Потеря данных при сбое: Если master выходит из строя до пересылки изменений на реплики, данные могут быть потеряны. Это может привести к несогласованности данных и необходимости восстановления системы.
- [Отставание реплики в БД](Отставание%20реплики%20в%20БД.md): Задержка в применении изменений на репликах может привести к отставанию реплик от master, что может затруднить выполнение некоторых операций, требующих актуальных данных. - [Отставание реплики в БД](Отставание%20реплики%20в%20БД.md): Задержка в применении изменений на репликах может привести к отставанию реплик от master, что может затруднить выполнение некоторых операций, требующих актуальных данных.
- Проблемы с консистентностью данных: Каждая реплика может отставать по разному, из-за этого данные могут быть несогласованными между репликами. Например, пользователь может получить разные результаты для одного и того же запроса. - Проблемы с консистентностью данных: Каждая реплика может отставать по разному, из-за этого данные могут быть несогласованными между репликами. Например, пользователь может получить разные результаты для одного и того же запроса.
## Примеры использования
Асинхронная репликация широко используется в системах, где высокая производительность и низкое время отклика имеют приоритет над полной консистентностью данных. Например, в системах аналитики и отчетности, где задержки в обновлении данных не критичны, асинхронная репликация позволяет эффективно распределять нагрузку и использовать реплики для выполнения сложных запросов, не влияя на производительность основного сервера.

View File

@ -25,5 +25,15 @@ linked:
- Завершение транзакции в движке БД: После получения подтверждения от одной или нескольких реплик транзакция завершается на master, и клиент получает подтверждение. - Завершение транзакции в движке БД: После получения подтверждения от одной или нескольких реплик транзакция завершается на master, и клиент получает подтверждение.
- Воспроизведение транзакции на репликах: Реплики применяют полученные изменения к своим копиям данных, но это может произойти с задержкой. - Воспроизведение транзакции на репликах: Реплики применяют полученные изменения к своим копиям данных, но это может произойти с задержкой.
**Преимущества**
- Баланс между надежностью и производительностью: Полу-синхронная репликация обеспечивает более высокую надежность данных по сравнению с асинхронной репликацией, так как master ждет подтверждения от реплик перед завершением транзакции. Это снижает риск потери данных при сбое.
- Сниженное время отклика: В отличие от синхронной репликации, master не ждет подтверждения от всех реплик, что снижает время отклика и повышает производительность системы.
- Меньшая вероятность отставания данных: Благодаря ожиданию подтверждения от реплик перед завершением транзакции, вероятность отставания данных на репликах уменьшается.
**Минусы** **Минусы**
- Проблемы консистентности данных. [Фантомное чтение](Фантомное%20чтение.md). - Проблемы с консистентностью данных: Хотя master ждет подтверждения от одной или нескольких реплик, данные на других репликах могут оставаться несогласованными до применения изменений, что может привести к проблемам с консистентностью. [Фантомное чтение](Фантомное%20чтение.md).
- Сложность управления: Полу-синхронная репликация требует более сложной настройки и управления по сравнению с асинхронной репликацией, так как необходимо следить за подтверждениями от реплик и управлять задержками.
- Увеличенное время отклика по сравнению с асинхронной репликацией: Несмотря на снижение времени отклика по сравнению с синхронной репликацией, полу-синхронная репликация все же медленнее асинхронной, так как требует ожидания подтверждений от реплик.
## Примеры использования
Полу-синхронная репликация часто используется в системах, где требуется баланс между надежностью данных и производительностью. Например, в финансовых системах, где важна высокая доступность и консистентность данных, но при этом необходимо обеспечить приемлемое время отклика для клиентов. Полу-синхронная репликация позволяет снизить риск потери данных при сбоях и поддерживать консистентность данных на более высоком уровне, чем асинхронная репликация.