diff --git a/.obsidian/plugins/home-tab/data.json b/.obsidian/plugins/home-tab/data.json index 1a181e42..09363650 100644 --- a/.obsidian/plugins/home-tab/data.json +++ b/.obsidian/plugins/home-tab/data.json @@ -24,24 +24,24 @@ "unresolvedLinks": false, "recentFilesStore": [ { - "filepath": "_inbox/Serializable.md", - "timestamp": 1719932863763 + "filepath": "_inbox/Read committed.md", + "timestamp": 1719933168388 + }, + { + "filepath": "_inbox/drawing/ExcaliBrain Snapshot - Read committed.excalidraw.md", + "timestamp": 1719933165947 }, { "filepath": "excalibrain.md", - "timestamp": 1719932863485 + "timestamp": 1719933156894 }, { - "filepath": "Home.md", - "timestamp": 1719932797895 + "filepath": "_inbox/Read uncommitted.md", + "timestamp": 1719933146235 }, { "filepath": "_inbox/Repeatable read.md", - "timestamp": 1719932751701 - }, - { - "filepath": "_inbox/Read committed.md", - "timestamp": 1719932676552 + "timestamp": 1719933108286 } ], "bookmarkedFileStore": [], diff --git a/.obsidian/plugins/recent-files-obsidian/data.json b/.obsidian/plugins/recent-files-obsidian/data.json index d5e05664..abe0b643 100644 --- a/.obsidian/plugins/recent-files-obsidian/data.json +++ b/.obsidian/plugins/recent-files-obsidian/data.json @@ -1,28 +1,36 @@ { "recentFiles": [ { - "basename": "Serializable", - "path": "_inbox/Serializable.md" + "basename": "Read committed", + "path": "_inbox/Read committed.md" + }, + { + "basename": "ExcaliBrain Snapshot - Read committed.excalidraw", + "path": "_inbox/drawing/ExcaliBrain Snapshot - Read committed.excalidraw.md" }, { "basename": "excalibrain", "path": "excalibrain.md" }, { - "basename": "Home", - "path": "Home.md" + "basename": "Read uncommitted", + "path": "_inbox/Read uncommitted.md" }, { "basename": "Repeatable read", "path": "_inbox/Repeatable read.md" }, { - "basename": "Read committed", - "path": "_inbox/Read committed.md" + "basename": "Фантомное чтение", + "path": "_inbox/Фантомное чтение.md" }, { - "basename": "Read uncommitted", - "path": "_inbox/Read uncommitted.md" + "basename": "Serializable", + "path": "_inbox/Serializable.md" + }, + { + "basename": "Home", + "path": "Home.md" }, { "basename": "Deadlock", @@ -191,14 +199,6 @@ { "basename": "Кэширование", "path": "_inbox/Кэширование.md" - }, - { - "basename": "Старт с холодным кэшом", - "path": "_inbox/Старт с холодным кэшом.md" - }, - { - "basename": "Кэширование в приложении", - "path": "_inbox/Кэширование в приложении.md" } ], "omittedPaths": [], diff --git a/_inbox/Repeatable read.md b/_inbox/Repeatable read.md index 97036817..211750da 100644 --- a/_inbox/Repeatable read.md +++ b/_inbox/Repeatable read.md @@ -33,4 +33,6 @@ next: "[[Serializable]]" - В [PostgreSQL](00%20PostgreSQL.md) на уровне `REPEATABLE_READ` также предотвращены фантомные чтения. **Проблемы:** -- [Фантомное чтение](Фантомное%20чтение.md) \ No newline at end of file +- [Фантомное чтение](Фантомное%20чтение.md) + +**Когда использовать:** Вставка новых записей в параллельных транзакциях не влияет на текущую транзакцию. \ No newline at end of file diff --git a/_inbox/Serializable.md b/_inbox/Serializable.md index 3693c7f5..4d46242f 100644 --- a/_inbox/Serializable.md +++ b/_inbox/Serializable.md @@ -14,4 +14,6 @@ prev: "[[Repeatable read]]" **Serializable (упорядочиваемость).** Самый высокий уровень изолированности; транзакции полностью изолируются друг от друга, каждая выполняется так, как будто параллельных транзакций не существует. Только на этом уровне параллельные транзакции не подвержены эффекту «фантомного чтения». ^fdb385 **Минусы:** -- Самый медленный уровень изоляции \ No newline at end of file +- Самый медленный уровень изоляции + +**Когда использовать:** Если транзакция изменяет данные в БД и при этом проверяет, чтобы эти данные не противоречили уже существующим данным. \ No newline at end of file diff --git a/_inbox/drawing/ExcaliBrain Snapshot - Read committed.excalidraw.md b/_inbox/drawing/ExcaliBrain Snapshot - Read committed.excalidraw.md new file mode 100644 index 00000000..7c93b613 --- /dev/null +++ b/_inbox/drawing/ExcaliBrain Snapshot - Read committed.excalidraw.md @@ -0,0 +1,219 @@ +--- + +excalidraw-plugin: parsed +tags: [excalidraw] + +--- +==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving' + +# Excalidraw Data +## Text Elements +Read committed ^gMFoEZNA + +2 ^UY2pmjfJ + +1 ^kMdABBsE + +1 ^fQRa1wO7 + +Read uncommitted ^78uvOI4H + +2 ^cR9OEwP9 + +1 ^lKf8iYqv + +повторяющееся чтение ^63wmHcmr + +2 ^ypBAGXn4 + +1 ^hsC3kyII + +1 ^RJlokz47 + +Уровни изоляций транзакций БД ^uvVVJ517 + +1 ^SCm5ZPVe + +1 ^5MPoABp8 + +4 ^jC7D3L02 + +Serializable ^oT4fzmWA + +2 ^CdSIv01s + +1 ^2vdMaZBb + +база данных ^nC3OBhyK + +39 ^162WDYql + +1 ^AUPr08Kv + +[[_inbox/Read committed.md]] ^Mhvj51kw + +[[_inbox/Read uncommitted.md]] ^6tmS0dOt + +[[_inbox/Repeatable read.md]] ^NZhFUbj8 + +[[knowledge/dev/database/Уровни изоляций транзакций БД.md]] ^ZSFrNIwk + +[[_inbox/Serializable.md]] ^Fnt5KORI + +[[wiki/zero/00 Базы Данных.md]] ^ZUCa19vp + + +%% +## Drawing +```compressed-json +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= +``` +%% \ No newline at end of file