vault backup: 2024-06-19 20:23:54

This commit is contained in:
Struchkov Mark 2024-06-19 20:23:54 +03:00
parent 3a3f080c0c
commit 0eacc131bf
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
4 changed files with 23 additions and 15 deletions

View File

@ -24,12 +24,16 @@
"unresolvedLinks": false, "unresolvedLinks": false,
"recentFilesStore": [ "recentFilesStore": [
{ {
"filepath": "_inbox/Read committed.md", "filepath": "_inbox/Repeatable read.md",
"timestamp": 1718817519939 "timestamp": 1718817548205
}, },
{ {
"filepath": "knowledge/dev/database/Уровни изоляций транзакций БД.md", "filepath": "knowledge/dev/database/Уровни изоляций транзакций БД.md",
"timestamp": 1718817518532 "timestamp": 1718817545204
},
{
"filepath": "_inbox/Read committed.md",
"timestamp": 1718817519939
}, },
{ {
"filepath": "_inbox/Транзакция БД.md", "filepath": "_inbox/Транзакция БД.md",
@ -38,10 +42,6 @@
{ {
"filepath": "_inbox/Фантомное чтение.md", "filepath": "_inbox/Фантомное чтение.md",
"timestamp": 1718817514775 "timestamp": 1718817514775
},
{
"filepath": "_inbox/Read uncommitted.md",
"timestamp": 1718817512090
} }
], ],
"bookmarkedFileStore": [], "bookmarkedFileStore": [],

View File

@ -1,13 +1,17 @@
{ {
"recentFiles": [ "recentFiles": [
{ {
"basename": "Read committed", "basename": "Repeatable read",
"path": "_inbox/Read committed.md" "path": "_inbox/Repeatable read.md"
}, },
{ {
"basename": "Уровни изоляций транзакций БД", "basename": "Уровни изоляций транзакций БД",
"path": "knowledge/dev/database/Уровни изоляций транзакций БД.md" "path": "knowledge/dev/database/Уровни изоляций транзакций БД.md"
}, },
{
"basename": "Read committed",
"path": "_inbox/Read committed.md"
},
{ {
"basename": "Транзакция БД", "basename": "Транзакция БД",
"path": "_inbox/Транзакция БД.md" "path": "_inbox/Транзакция БД.md"
@ -24,10 +28,6 @@
"basename": "Потерянное обновление", "basename": "Потерянное обновление",
"path": "_inbox/Потерянное обновление.md" "path": "_inbox/Потерянное обновление.md"
}, },
{
"basename": "Repeatable read",
"path": "_inbox/Repeatable read.md"
},
{ {
"basename": "Неповторяющееся чтение", "basename": "Неповторяющееся чтение",
"path": "_inbox/Неповторяющееся чтение.md" "path": "_inbox/Неповторяющееся чтение.md"

View File

@ -13,4 +13,6 @@ linked:
**Read committed (чтение фиксированных данных).** Большинство промышленных СУБД по умолчанию используют именно этот уровень. На этом уровне обеспечивается защита от «грязного» чтения, тем не менее, в процессе работы одной транзакции другая может быть успешно завершена и сделанные ею изменения зафиксированы. В итоге первая транзакция будет работать с другим набором данных. ^11df20 **Read committed (чтение фиксированных данных).** Большинство промышленных СУБД по умолчанию используют именно этот уровень. На этом уровне обеспечивается защита от «грязного» чтения, тем не менее, в процессе работы одной транзакции другая может быть успешно завершена и сделанные ею изменения зафиксированы. В итоге первая транзакция будет работать с другим набором данных. ^11df20
Проблемы: Проблемы:
- [[непов]] - [Неповторяющееся чтение](Неповторяющееся%20чтение.md)
- [Фантомное чтение](Фантомное%20чтение.md)
- [Потерянное обновление](Потерянное%20обновление.md)

View File

@ -21,4 +21,10 @@ linked:
Но если вторая транзакция не изменяла данные, а добавляла новые строчки, то исключения не было бы. Также проблем не будет, если мы обновим баланс второго пользователя. Но если вторая транзакция не изменяла данные, а добавляла новые строчки, то исключения не было бы. Также проблем не будет, если мы обновим баланс второго пользователя.
Но возникает закономерный вопрос: что делать с ошибкой, ведь мы хотели выполнить транзакцию, которая свалилась с исключением. Самое простое, что можно сделать — это повторить выполнение второй транзакции с новыми данными. Если исключение возникнет опять, то повторить снова. Но возникает закономерный вопрос: что делать с ошибкой, ведь мы хотели выполнить транзакцию, которая свалилась с исключением. Самое простое, что можно сделать — это повторить выполнение второй транзакции с новыми данными. Если исключение возникнет опять, то повторить снова.
Особенности
- В [PostgreSQL](00%20PostgreSQL.md) на уровне `REPEATABLE_READ` также предотвращены фантомные чтения.
Проблемы:
- [Фантомное чтение](Фантомное%20чтение.md)