From 48098b2f67a02b957cd87283c8763091caee2898 Mon Sep 17 00:00:00 2001 From: Struchkov Mark Date: Tue, 2 Jul 2024 17:57:54 +0300 Subject: [PATCH] vault backup: 2024-07-02 17:57:54 --- .obsidian/plugins/home-tab/data.json | 24 +++++++++---------- .../plugins/recent-files-obsidian/data.json | 24 +++++++++---------- _inbox/Deadlock.md | 10 +++++++- _inbox/Транзакция БД.md | 4 ---- 4 files changed, 33 insertions(+), 29 deletions(-) diff --git a/.obsidian/plugins/home-tab/data.json b/.obsidian/plugins/home-tab/data.json index 642f03c2..9e4bae26 100644 --- a/.obsidian/plugins/home-tab/data.json +++ b/.obsidian/plugins/home-tab/data.json @@ -23,6 +23,18 @@ "markdownOnly": false, "unresolvedLinks": false, "recentFilesStore": [ + { + "filepath": "_inbox/Deadlock.md", + "timestamp": 1719932139770 + }, + { + "filepath": "_inbox/Блокировки.md", + "timestamp": 1719932133087 + }, + { + "filepath": "_inbox/Транзакция БД.md", + "timestamp": 1719932031125 + }, { "filepath": "Home.md", "timestamp": 1719905943843 @@ -30,18 +42,6 @@ { "filepath": "Проекты.md", "timestamp": 1719905942532 - }, - { - "filepath": "projects/Проект. Здоровым к 30.md", - "timestamp": 1719905830157 - }, - { - "filepath": "projects/Ремонт квартиры/Проект. Ремонт квартиры.md", - "timestamp": 1719905829339 - }, - { - "filepath": "projects/Проект. Дом Дурачок 2.0.md", - "timestamp": 1719905828132 } ], "bookmarkedFileStore": [], diff --git a/.obsidian/plugins/recent-files-obsidian/data.json b/.obsidian/plugins/recent-files-obsidian/data.json index d01acbc3..e6c0992a 100644 --- a/.obsidian/plugins/recent-files-obsidian/data.json +++ b/.obsidian/plugins/recent-files-obsidian/data.json @@ -1,5 +1,17 @@ { "recentFiles": [ + { + "basename": "Deadlock", + "path": "_inbox/Deadlock.md" + }, + { + "basename": "Блокировки", + "path": "_inbox/Блокировки.md" + }, + { + "basename": "Транзакция БД", + "path": "_inbox/Транзакция БД.md" + }, { "basename": "Home", "path": "Home.md" @@ -140,18 +152,6 @@ "basename": "Архитектура MySQL", "path": "_inbox/Архитектура MySQL.md" }, - { - "basename": "Транзакция БД", - "path": "_inbox/Транзакция БД.md" - }, - { - "basename": "Блокировки", - "path": "_inbox/Блокировки.md" - }, - { - "basename": "Deadlock", - "path": "_inbox/Deadlock.md" - }, { "basename": "00 PostgreSQL", "path": "wiki/zero/00 PostgreSQL.md" diff --git a/_inbox/Deadlock.md b/_inbox/Deadlock.md index c4f10cd8..814a0397 100644 --- a/_inbox/Deadlock.md +++ b/_inbox/Deadlock.md @@ -11,4 +11,12 @@ linked: --- **Советы:** - Делать транзакции короче. -- Выполнить повторно откатившуюся транзакцию \ No newline at end of file +- Выполнить повторно откатившуюся транзакцию + +**Что реально поможет:** +- Разделить потоки чтения и записи: [CQRS](CQRS.md) +- Использовать материализованные view. +- Изменить порядок блокировок ресурсов. Если в разных операциях блокируется определенный набор ресурсов, то блокироваться первым должен всегда один и тот же ресурс +- Пересмотреть [Уровни изоляций транзакций БД](Уровни%20изоляций%20транзакций%20БД.md) +- Сразу использовать Exclusive lock. Но это сильно может сказаться на производительности. +- \ No newline at end of file diff --git a/_inbox/Транзакция БД.md b/_inbox/Транзакция БД.md index 63c03aab..53f24867 100644 --- a/_inbox/Транзакция БД.md +++ b/_inbox/Транзакция БД.md @@ -38,9 +38,5 @@ linked: **Уровни изоляций транзакций БД:** ![Уровни изоляций транзакций БД](Уровни%20изоляций%20транзакций%20БД.md) -Дополнительные советы: -- Разделить потоки чтения и записи: [CQRS](CQRS.md) -- - ## Дополнительные материалы - [Транзакции. Восстановление. Классический алгоритм — Викиконспекты](https://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D1%80%D0%B0%D0%BD%D0%B7%D0%B0%D0%BA%D1%86%D0%B8%D0%B8._%D0%92%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5._%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC) \ No newline at end of file