vault backup: 2024-07-02 18:07:53
This commit is contained in:
parent
813cea5421
commit
a119b71a3f
38
.obsidian/plugins/excalibrain/data.json
vendored
38
.obsidian/plugins/excalibrain/data.json
vendored
@ -244,24 +244,6 @@
|
|||||||
"zero-link": {}
|
"zero-link": {}
|
||||||
},
|
},
|
||||||
"navigationHistory": [
|
"navigationHistory": [
|
||||||
"meta/files/Архитектура. Виджет на сайте.excalidraw.md",
|
|
||||||
"meta/files/telegram-cloud-photo-size-2-5296555301971021735-y.jpg",
|
|
||||||
"meta/files/screen 975.png",
|
|
||||||
"meta/files/Pasted image 20240513150231.png",
|
|
||||||
"meta/files/mikrovolnovka_na_kuhne2023-2.jpg",
|
|
||||||
"notes/Эротическая игра в телеграме для пар.md",
|
|
||||||
"meta/files/Архитектура. Телефония РГС.md",
|
|
||||||
"meta/files/screen 735.png",
|
|
||||||
"meta/files/Pasted image 20230927184759.png",
|
|
||||||
"meta/files/Pasted Image 20240508102418_682.jpg",
|
|
||||||
"meta/files/Схема интеграции с Naomen CC и Edna через шину.excalidraw.md",
|
|
||||||
"meta/files/Снимок экрана 2024-01-19 в 13.02.19.png",
|
|
||||||
"meta/files/first-3.jpg",
|
|
||||||
"meta/files/Pasted Image 20240115132340_682.png",
|
|
||||||
"meta/files/Схема интеграции с Edna без шины.excalidraw.md",
|
|
||||||
"meta/files/Stepan-Ismakaev-getmatch.pdf",
|
|
||||||
"meta/files/Pasted image 20231106154846.png",
|
|
||||||
"meta/files/Pasted Image 20240328095324_138.png",
|
|
||||||
"meta/files/Pasted Image 20240115132233_924.png",
|
"meta/files/Pasted Image 20240115132233_924.png",
|
||||||
"meta/files/Drawing 2024-03-05 16.05.18.excalidraw.md",
|
"meta/files/Drawing 2024-03-05 16.05.18.excalidraw.md",
|
||||||
"meta/files/Pasted Image 20230719131452_968.png",
|
"meta/files/Pasted Image 20230719131452_968.png",
|
||||||
@ -293,7 +275,25 @@
|
|||||||
"_inbox/2024-03-10 1710054825.md",
|
"_inbox/2024-03-10 1710054825.md",
|
||||||
"meta/files/image (2).png",
|
"meta/files/image (2).png",
|
||||||
"orphaned files output.md",
|
"orphaned files output.md",
|
||||||
"Home.md"
|
"source/статьи/Статья. Т-Ж. Как сделать ремонт квартиры.md",
|
||||||
|
"projects/План проекта бота.md",
|
||||||
|
"projects/Личная айдентика.md",
|
||||||
|
"projects/Выступление на конференции Jpoint.md",
|
||||||
|
"projects/Дом Дурачок 2.0.md",
|
||||||
|
"projects/Ремонт квартиры/Идеи для ремонта.md",
|
||||||
|
"projects/Здоровым к 30.md",
|
||||||
|
"projects/Проект. Дом Дурачок 2.0.md",
|
||||||
|
"projects/Ремонт квартиры/Проект. Ремонт квартиры.md",
|
||||||
|
"projects/Проект. Здоровым к 30.md",
|
||||||
|
"Проекты.md",
|
||||||
|
"_inbox/Транзакция БД.md",
|
||||||
|
"_inbox/Блокировки.md",
|
||||||
|
"_inbox/Deadlock.md",
|
||||||
|
"_inbox/Read uncommitted.md",
|
||||||
|
"_inbox/Read committed.md",
|
||||||
|
"_inbox/Repeatable read.md",
|
||||||
|
"Home.md",
|
||||||
|
"_inbox/Serializable.md"
|
||||||
],
|
],
|
||||||
"allowOntologySuggester": true,
|
"allowOntologySuggester": true,
|
||||||
"ontologySuggesterParentTrigger": "::p",
|
"ontologySuggesterParentTrigger": "::p",
|
||||||
|
26
.obsidian/plugins/home-tab/data.json
vendored
26
.obsidian/plugins/home-tab/data.json
vendored
@ -24,24 +24,24 @@
|
|||||||
"unresolvedLinks": false,
|
"unresolvedLinks": false,
|
||||||
"recentFilesStore": [
|
"recentFilesStore": [
|
||||||
{
|
{
|
||||||
"filepath": "_inbox/Read uncommitted.md",
|
"filepath": "_inbox/Serializable.md",
|
||||||
"timestamp": 1719932562185
|
"timestamp": 1719932863763
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filepath": "_inbox/Deadlock.md",
|
"filepath": "excalibrain.md",
|
||||||
"timestamp": 1719932139770
|
"timestamp": 1719932863485
|
||||||
},
|
|
||||||
{
|
|
||||||
"filepath": "_inbox/Блокировки.md",
|
|
||||||
"timestamp": 1719932133087
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filepath": "_inbox/Транзакция БД.md",
|
|
||||||
"timestamp": 1719932031125
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filepath": "Home.md",
|
"filepath": "Home.md",
|
||||||
"timestamp": 1719905943843
|
"timestamp": 1719932797895
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filepath": "_inbox/Repeatable read.md",
|
||||||
|
"timestamp": 1719932751701
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filepath": "_inbox/Read committed.md",
|
||||||
|
"timestamp": 1719932676552
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"bookmarkedFileStore": [],
|
"bookmarkedFileStore": [],
|
||||||
|
@ -1,5 +1,25 @@
|
|||||||
{
|
{
|
||||||
"recentFiles": [
|
"recentFiles": [
|
||||||
|
{
|
||||||
|
"basename": "Serializable",
|
||||||
|
"path": "_inbox/Serializable.md"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"basename": "excalibrain",
|
||||||
|
"path": "excalibrain.md"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"basename": "Home",
|
||||||
|
"path": "Home.md"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"basename": "Repeatable read",
|
||||||
|
"path": "_inbox/Repeatable read.md"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"basename": "Read committed",
|
||||||
|
"path": "_inbox/Read committed.md"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"basename": "Read uncommitted",
|
"basename": "Read uncommitted",
|
||||||
"path": "_inbox/Read uncommitted.md"
|
"path": "_inbox/Read uncommitted.md"
|
||||||
@ -16,10 +36,6 @@
|
|||||||
"basename": "Транзакция БД",
|
"basename": "Транзакция БД",
|
||||||
"path": "_inbox/Транзакция БД.md"
|
"path": "_inbox/Транзакция БД.md"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"basename": "Home",
|
|
||||||
"path": "Home.md"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"basename": "Проекты",
|
"basename": "Проекты",
|
||||||
"path": "Проекты.md"
|
"path": "Проекты.md"
|
||||||
@ -183,22 +199,6 @@
|
|||||||
{
|
{
|
||||||
"basename": "Кэширование в приложении",
|
"basename": "Кэширование в приложении",
|
||||||
"path": "_inbox/Кэширование в приложении.md"
|
"path": "_inbox/Кэширование в приложении.md"
|
||||||
},
|
|
||||||
{
|
|
||||||
"basename": "Content Delivery Network",
|
|
||||||
"path": "knowledge/dev/network/Content Delivery Network.md"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"basename": "Кэширование на стороне браузера",
|
|
||||||
"path": "_inbox/Кэширование на стороне браузера.md"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"basename": "Vitess",
|
|
||||||
"path": "_inbox/Vitess.md"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"basename": "Шардирование в БД",
|
|
||||||
"path": "_inbox/Шардирование в БД.md"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"omittedPaths": [],
|
"omittedPaths": [],
|
||||||
|
@ -9,14 +9,19 @@ zero-link:
|
|||||||
parents:
|
parents:
|
||||||
- "[[Уровни изоляций транзакций БД]]"
|
- "[[Уровни изоляций транзакций БД]]"
|
||||||
linked:
|
linked:
|
||||||
|
next: "[[Repeatable read]]"
|
||||||
|
prev: "[[Read uncommitted]]"
|
||||||
---
|
---
|
||||||
**Read committed (чтение фиксированных данных).** Большинство промышленных СУБД по умолчанию используют именно этот уровень. На этом уровне обеспечивается защита от «грязного» чтения, тем не менее, в процессе работы одной транзакции другая может быть успешно завершена и сделанные ею изменения зафиксированы. В итоге первая транзакция будет работать с другим набором данных. ^11df20
|
**Read committed (чтение фиксированных данных).** Большинство промышленных СУБД по умолчанию используют именно этот уровень. На этом уровне обеспечивается защита от «грязного» чтения, тем не менее, в процессе работы одной транзакции другая может быть успешно завершена и сделанные ею изменения зафиксированы. В итоге первая транзакция будет работать с другим набором данных. ^11df20
|
||||||
|
|
||||||
Реализация:
|
**Реализация:**
|
||||||
- Использование [Блокировки](Блокировки.md). Устанавливаем блокировку строк на запись
|
- Использование [Блокировки](Блокировки.md). Устанавливаем блокировку строк на запись
|
||||||
- Сохраняем старые значения строк до коммита изменений. Отдаем их другим транзакциям. ([MVCC](MVCC.md))
|
- Сохраняем старые значения строк до коммита изменений. Отдаем их другим транзакциям. ([MVCC](MVCC.md))
|
||||||
|
|
||||||
Проблемы:
|
**Минусы:**
|
||||||
|
- Большое потребление RAM, так как создает множество временных сущностей.
|
||||||
|
|
||||||
|
**Проблемы:**
|
||||||
- [Неповторяющееся чтение](Неповторяющееся%20чтение.md)
|
- [Неповторяющееся чтение](Неповторяющееся%20чтение.md)
|
||||||
- [Фантомное чтение](Фантомное%20чтение.md)
|
- [Фантомное чтение](Фантомное%20чтение.md)
|
||||||
- [Потерянное обновление](Потерянное%20обновление.md)
|
- [Потерянное обновление](Потерянное%20обновление.md)
|
@ -9,6 +9,7 @@ zero-link:
|
|||||||
parents:
|
parents:
|
||||||
- "[[Уровни изоляций транзакций БД]]"
|
- "[[Уровни изоляций транзакций БД]]"
|
||||||
linked:
|
linked:
|
||||||
|
next: "[[Read committed]]"
|
||||||
---
|
---
|
||||||
**Read uncommitted (чтение незафиксированных данных).** Если несколько параллельных транзакций пытаются изменять одну и ту же строку таблицы, то в окончательном варианте строка будет иметь значение, определенное всем набором успешно выполненных транзакций. ^52421e
|
**Read uncommitted (чтение незафиксированных данных).** Если несколько параллельных транзакций пытаются изменять одну и ту же строку таблицы, то в окончательном варианте строка будет иметь значение, определенное всем набором успешно выполненных транзакций. ^52421e
|
||||||
|
|
||||||
|
@ -10,6 +10,8 @@ zero-link:
|
|||||||
parents:
|
parents:
|
||||||
- "[[Уровни изоляций транзакций БД]]"
|
- "[[Уровни изоляций транзакций БД]]"
|
||||||
linked:
|
linked:
|
||||||
|
prev: "[[Read committed]]"
|
||||||
|
next: "[[Serializable]]"
|
||||||
---
|
---
|
||||||
**Repeatable read (повторяющееся чтение).** Уровень, при котором читающая транзакция «не видит» изменения данных, которые были ею ранее прочитаны. При этом никакая другая транзакция не может изменять данные, читаемые текущей транзакцией, пока та не окончена. ^38dd4b
|
**Repeatable read (повторяющееся чтение).** Уровень, при котором читающая транзакция «не видит» изменения данных, которые были ею ранее прочитаны. При этом никакая другая транзакция не может изменять данные, читаемые текущей транзакцией, пока та не окончена. ^38dd4b
|
||||||
|
|
||||||
@ -23,12 +25,12 @@ linked:
|
|||||||
|
|
||||||
Но возникает закономерный вопрос: что делать с ошибкой, ведь мы хотели выполнить транзакцию, которая свалилась с исключением. Самое простое, что можно сделать — это повторить выполнение второй транзакции с новыми данными. Если исключение возникнет опять, то повторить снова.
|
Но возникает закономерный вопрос: что делать с ошибкой, ведь мы хотели выполнить транзакцию, которая свалилась с исключением. Самое простое, что можно сделать — это повторить выполнение второй транзакции с новыми данными. Если исключение возникнет опять, то повторить снова.
|
||||||
|
|
||||||
Реализация:
|
**Реализация:**
|
||||||
- [Блокировки](Блокировки.md). Чтение не блокирует запись, а запись не блокирует чтение.
|
- [Блокировки](Блокировки.md). Чтение не блокирует запись, а запись не блокирует чтение.
|
||||||
- [MVCC](MVCC.md)
|
- [MVCC](MVCC.md)
|
||||||
|
|
||||||
Особенности
|
**Особенности:**
|
||||||
- В [PostgreSQL](00%20PostgreSQL.md) на уровне `REPEATABLE_READ` также предотвращены фантомные чтения.
|
- В [PostgreSQL](00%20PostgreSQL.md) на уровне `REPEATABLE_READ` также предотвращены фантомные чтения.
|
||||||
|
|
||||||
Проблемы:
|
**Проблемы:**
|
||||||
- [Фантомное чтение](Фантомное%20чтение.md)
|
- [Фантомное чтение](Фантомное%20чтение.md)
|
@ -9,5 +9,9 @@ zero-link:
|
|||||||
parents:
|
parents:
|
||||||
- "[[Уровни изоляций транзакций БД]]"
|
- "[[Уровни изоляций транзакций БД]]"
|
||||||
linked:
|
linked:
|
||||||
|
prev: "[[Repeatable read]]"
|
||||||
---
|
---
|
||||||
**Serializable (упорядочиваемость).** Самый высокий уровень изолированности; транзакции полностью изолируются друг от друга, каждая выполняется так, как будто параллельных транзакций не существует. Только на этом уровне параллельные транзакции не подвержены эффекту «фантомного чтения». ^fdb385
|
**Serializable (упорядочиваемость).** Самый высокий уровень изолированности; транзакции полностью изолируются друг от друга, каждая выполняется так, как будто параллельных транзакций не существует. Только на этом уровне параллельные транзакции не подвержены эффекту «фантомного чтения». ^fdb385
|
||||||
|
|
||||||
|
**Минусы:**
|
||||||
|
- Самый медленный уровень изоляции
|
@ -11,77 +11,30 @@ tags: [excalidraw]
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Text Elements
|
# Excalidraw Data
|
||||||
|
## Text Elements
|
||||||
Open a document in another pane and click it to get started.
|
Open a document in another pane and click it to get started.
|
||||||
|
|
||||||
For the best experience enable 'Open in adjacent pane'
|
For the best experience enable 'Open in adjacent pane'
|
||||||
in Excalidraw settings under 'Links and Transclusion'. ^4mylk7KK
|
in Excalidraw settings under 'Links and Transclusion'. ^4mylk7KK
|
||||||
|
|
||||||
%%
|
%%
|
||||||
# Drawing
|
## Drawing
|
||||||
```json
|
```compressed-json
|
||||||
{
|
N4KAkARALgngDgUwgLgAQQQDwMYEMA2AlgCYBOuA7hADTgQBuCpAzoQPYB2KqATLZMzYBXUtiRoIACyhQ4zZAHoFAc0JRJQgEYA6bGwC2CgF7N6hbEcK4OCtptbErHALRY8RMpWdx8Q1TdIEfARcZgRmBShcZQUebTiAdho6IIR9BA4oZm4AbXAwUDAi6HhxdCgsKGSiyEYWdi40AGZ+YrrWTgA5TjFuAEYATgAOAAYBgDYmgBYmvtbIQg5iLG4I
|
||||||
"type": "excalidraw",
|
|
||||||
"version": 2,
|
XBHq4sJmABFUiuJuADMCMPmIElWp/Rh8AGsEgGlHzcgjwnx8AGVYYNXJXDYDSBV4QZhQUhsO4IADqJHU/XO4Mh0J+tzKYLYHlBkL8kg44WyaDm+UgbDggLUMH6IxG52syj+aDppIgmG4zhG2hG4x4AFZztTmUiIVCEABhLFsUirCiSNRIc6aQF3ZS4paS/DS1YQ6zMCmBTKgijwyTcBIjJraPr886SBCEZTSbgTJEIBCHNBTKY8AbnNXCOAASWIR
|
||||||
"source": "https://excalidraw.com",
|
|
||||||
"elements": [
|
NQOQAuucjuR0iHuBwhJ9zuriATmGHE8nWZphEsAKLBdKZMOR85CODEXAHfoJQYDJo8IaTcZ8v2sogcO4JpP4c5a7DQz2oE74M6so6cKBfQhGMo8Fk1CCTzIAMVw+g+QtQLVZFUwVQkAHlEBxULhUMQ2NghMWoKhFueOGx1ExUBSCU/iKhsERBw/7ygNhUGUBB73BXBSAObQAB0ODg1dpVQV9UE0cJ7ywRBSEIDIxFQDJcE0YJUAAchPDIHzPXBiA
|
||||||
{
|
|
||||||
"type": "text",
|
AK0BDJ7w/BASLgx98xwAgSHIChUDCGRFmUZhUCEJY3xIgAZRY7iE6xvwAFXIDhmF/IQOg4EjtBxSg5MqVZyKoy9r1vBjKKfF97VId9rAQL8fz/O4AOQ4DQPAqIoI9WD4I4RDLJQtDwXwzAsJwjg8IIoibLI09TOouixEyKyCRYjg2I4jxuN4sCoAEoSROWSyJKkmSllQBS9RUtSNNBfcoAAQSIZRGnQeKKhlc46my9x6sdJroHJUE9EyXBFiYeM0
|
||||||
"version": 1,
|
|
||||||
"versionNonce": 423577018,
|
CzPtWWlR1FgIHSDz06KLyvG87xi59X0spjbN/cwHLUJyQLA3i3OguCEKQvz0MC4LcJs8LiKiijH1i+iEqY5LUvcLjKEy/iOEE4TRIKySu2K+TFOU3xKs0+khCAgAlcJZzKCEhAQfsRoACQdJ1D1QPp4nyABfcAozoXA4DgH5qzKQpIFfdJVga51WgYHCKAAIRVAM8s1bUJEkZh8AACgXIZqFQUYAFJJZ4JppYASk2CAb1IQ0oCDCp9B+FEJSlGUJ
|
||||||
"isDeleted": false,
|
|
||||||
"id": "4mylk7KK",
|
AAYlpU2NjZtWNa1tJucHXmNQNnVIYNBiVcthjrf0VcPm+X4MQBIEREVfJVZEK3td1sU4WIBE0D4EP3cyT3I9RP3VkEbELbDj3tYR4QnXTMMSWKRPNe1k9KVgGlF0gUvPcQtcNy3REE+zpPtYb6cUf6cYs/VnO0nmuqGt64IjiqPvw7SGmoNq9W2DlEJhwmyeB/0fMljnyFF+o1ZIO3lXlMhT4AA1uEbbRpnGPo+SaIYpmv2+hmLgRsGP/AAE1uAf
|
||||||
"fillStyle": "hachure",
|
|
||||||
"strokeWidth": 1,
|
gZtHGBIfQJCGPfR+d82ZGDYAYbg9NagEHRtwLkrYSar3bmkPOeVC6rFTCrNUJAZxzh7NmYouDiD80NqgGBEBOZYmHBAI2fR/7jHFLVVcq5QRI2UEmSCqwTarj5H0IYLC2HIITgbAACgQLKdNiYoOnKKaEJ5sqcEzL2NmcBAhmGEMwAA4thYg+CygrxDjGDcCAkbAwEtA1kD0PTcDRhjVku04B2NIOjc4HBTEuLcVNeGnZUauIQCI4odgaIIGwFkL
|
||||||
"strokeStyle": "solid",
|
|
||||||
"roughness": 1,
|
4Hi4AAFk2DLA3oRYIw5RxhHADIug7xghhmAKTYmQA===
|
||||||
"opacity": 100,
|
|
||||||
"angle": 0,
|
|
||||||
"x": 0,
|
|
||||||
"y": 0,
|
|
||||||
"strokeColor": "white",
|
|
||||||
"backgroundColor": "transparent",
|
|
||||||
"width": 703,
|
|
||||||
"height": 96,
|
|
||||||
"seed": 4429,
|
|
||||||
"groupIds": [],
|
|
||||||
"strokeSharpness": "sharp",
|
|
||||||
"boundElements": [],
|
|
||||||
"updated": 1650784785611,
|
|
||||||
"link": null,
|
|
||||||
"locked": false,
|
|
||||||
"fontSize": 20,
|
|
||||||
"fontFamily": 3,
|
|
||||||
"text": "Open a document in another pane and click it to get started.\n\nFor the best experience enable 'Open in adjacent pane'\nin Excalidraw settings under 'Links and Transclusion'.",
|
|
||||||
"rawText": "Open a document in another pane and click it to get started.\n\nFor the best experience enable 'Open in adjacent pane'\nin Excalidraw settings under 'Links and Transclusion'.",
|
|
||||||
"baseline": 91,
|
|
||||||
"textAlign": "center",
|
|
||||||
"verticalAlign": "top",
|
|
||||||
"containerId": null,
|
|
||||||
"originalText": "Open a document in another pane and click it to get started.\n\nFor the best experience enable 'Open in adjacent pane'\nin Excalidraw settings under 'Links and Transclusion'."
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"appState": {
|
|
||||||
"theme": "dark",
|
|
||||||
"viewBackgroundColor": "hsl(208, 80%, 23%)",
|
|
||||||
"currentItemStrokeColor": "#000000",
|
|
||||||
"currentItemBackgroundColor": "transparent",
|
|
||||||
"currentItemFillStyle": "hachure",
|
|
||||||
"currentItemStrokeWidth": 2,
|
|
||||||
"currentItemStrokeStyle": "solid",
|
|
||||||
"currentItemRoughness": 1,
|
|
||||||
"currentItemOpacity": 100,
|
|
||||||
"currentItemFontFamily": 1,
|
|
||||||
"currentItemFontSize": 16,
|
|
||||||
"currentItemTextAlign": "left",
|
|
||||||
"currentItemStrokeSharpness": "sharp",
|
|
||||||
"currentItemStartArrowhead": null,
|
|
||||||
"currentItemEndArrowhead": "arrow",
|
|
||||||
"currentItemLinearStrokeSharpness": "round",
|
|
||||||
"gridSize": null,
|
|
||||||
"colorPalette": {}
|
|
||||||
},
|
|
||||||
"files": {}
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
%%
|
%%
|
Loading…
Reference in New Issue
Block a user