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": {}
|
||||
},
|
||||
"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/Drawing 2024-03-05 16.05.18.excalidraw.md",
|
||||
"meta/files/Pasted Image 20230719131452_968.png",
|
||||
@ -293,7 +275,25 @@
|
||||
"_inbox/2024-03-10 1710054825.md",
|
||||
"meta/files/image (2).png",
|
||||
"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,
|
||||
"ontologySuggesterParentTrigger": "::p",
|
||||
|
26
.obsidian/plugins/home-tab/data.json
vendored
26
.obsidian/plugins/home-tab/data.json
vendored
@ -24,24 +24,24 @@
|
||||
"unresolvedLinks": false,
|
||||
"recentFilesStore": [
|
||||
{
|
||||
"filepath": "_inbox/Read uncommitted.md",
|
||||
"timestamp": 1719932562185
|
||||
"filepath": "_inbox/Serializable.md",
|
||||
"timestamp": 1719932863763
|
||||
},
|
||||
{
|
||||
"filepath": "_inbox/Deadlock.md",
|
||||
"timestamp": 1719932139770
|
||||
},
|
||||
{
|
||||
"filepath": "_inbox/Блокировки.md",
|
||||
"timestamp": 1719932133087
|
||||
},
|
||||
{
|
||||
"filepath": "_inbox/Транзакция БД.md",
|
||||
"timestamp": 1719932031125
|
||||
"filepath": "excalibrain.md",
|
||||
"timestamp": 1719932863485
|
||||
},
|
||||
{
|
||||
"filepath": "Home.md",
|
||||
"timestamp": 1719905943843
|
||||
"timestamp": 1719932797895
|
||||
},
|
||||
{
|
||||
"filepath": "_inbox/Repeatable read.md",
|
||||
"timestamp": 1719932751701
|
||||
},
|
||||
{
|
||||
"filepath": "_inbox/Read committed.md",
|
||||
"timestamp": 1719932676552
|
||||
}
|
||||
],
|
||||
"bookmarkedFileStore": [],
|
||||
|
@ -1,5 +1,25 @@
|
||||
{
|
||||
"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",
|
||||
"path": "_inbox/Read uncommitted.md"
|
||||
@ -16,10 +36,6 @@
|
||||
"basename": "Транзакция БД",
|
||||
"path": "_inbox/Транзакция БД.md"
|
||||
},
|
||||
{
|
||||
"basename": "Home",
|
||||
"path": "Home.md"
|
||||
},
|
||||
{
|
||||
"basename": "Проекты",
|
||||
"path": "Проекты.md"
|
||||
@ -183,22 +199,6 @@
|
||||
{
|
||||
"basename": "Кэширование в приложении",
|
||||
"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": [],
|
||||
|
@ -8,15 +8,20 @@ zero-link:
|
||||
- "[[00 Базы Данных]]"
|
||||
parents:
|
||||
- "[[Уровни изоляций транзакций БД]]"
|
||||
linked:
|
||||
linked:
|
||||
next: "[[Repeatable read]]"
|
||||
prev: "[[Read uncommitted]]"
|
||||
---
|
||||
**Read committed (чтение фиксированных данных).** Большинство промышленных СУБД по умолчанию используют именно этот уровень. На этом уровне обеспечивается защита от «грязного» чтения, тем не менее, в процессе работы одной транзакции другая может быть успешно завершена и сделанные ею изменения зафиксированы. В итоге первая транзакция будет работать с другим набором данных. ^11df20
|
||||
|
||||
Реализация:
|
||||
**Реализация:**
|
||||
- Использование [Блокировки](Блокировки.md). Устанавливаем блокировку строк на запись
|
||||
- Сохраняем старые значения строк до коммита изменений. Отдаем их другим транзакциям. ([MVCC](MVCC.md))
|
||||
|
||||
Проблемы:
|
||||
**Минусы:**
|
||||
- Большое потребление RAM, так как создает множество временных сущностей.
|
||||
|
||||
**Проблемы:**
|
||||
- [Неповторяющееся чтение](Неповторяющееся%20чтение.md)
|
||||
- [Фантомное чтение](Фантомное%20чтение.md)
|
||||
- [Потерянное обновление](Потерянное%20обновление.md)
|
@ -8,7 +8,8 @@ zero-link:
|
||||
- "[[00 Базы Данных]]"
|
||||
parents:
|
||||
- "[[Уровни изоляций транзакций БД]]"
|
||||
linked:
|
||||
linked:
|
||||
next: "[[Read committed]]"
|
||||
---
|
||||
**Read uncommitted (чтение незафиксированных данных).** Если несколько параллельных транзакций пытаются изменять одну и ту же строку таблицы, то в окончательном варианте строка будет иметь значение, определенное всем набором успешно выполненных транзакций. ^52421e
|
||||
|
||||
|
@ -9,7 +9,9 @@ zero-link:
|
||||
- "[[00 Базы Данных]]"
|
||||
parents:
|
||||
- "[[Уровни изоляций транзакций БД]]"
|
||||
linked:
|
||||
linked:
|
||||
prev: "[[Read committed]]"
|
||||
next: "[[Serializable]]"
|
||||
---
|
||||
**Repeatable read (повторяющееся чтение).** Уровень, при котором читающая транзакция «не видит» изменения данных, которые были ею ранее прочитаны. При этом никакая другая транзакция не может изменять данные, читаемые текущей транзакцией, пока та не окончена. ^38dd4b
|
||||
|
||||
@ -23,12 +25,12 @@ linked:
|
||||
|
||||
Но возникает закономерный вопрос: что делать с ошибкой, ведь мы хотели выполнить транзакцию, которая свалилась с исключением. Самое простое, что можно сделать — это повторить выполнение второй транзакции с новыми данными. Если исключение возникнет опять, то повторить снова.
|
||||
|
||||
Реализация:
|
||||
**Реализация:**
|
||||
- [Блокировки](Блокировки.md). Чтение не блокирует запись, а запись не блокирует чтение.
|
||||
- [MVCC](MVCC.md)
|
||||
|
||||
Особенности
|
||||
**Особенности:**
|
||||
- В [PostgreSQL](00%20PostgreSQL.md) на уровне `REPEATABLE_READ` также предотвращены фантомные чтения.
|
||||
|
||||
Проблемы:
|
||||
**Проблемы:**
|
||||
- [Фантомное чтение](Фантомное%20чтение.md)
|
@ -8,6 +8,10 @@ zero-link:
|
||||
- "[[00 Базы Данных]]"
|
||||
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.
|
||||
|
||||
For the best experience enable 'Open in adjacent pane'
|
||||
in Excalidraw settings under 'Links and Transclusion'. ^4mylk7KK
|
||||
|
||||
%%
|
||||
# Drawing
|
||||
```json
|
||||
{
|
||||
"type": "excalidraw",
|
||||
"version": 2,
|
||||
"source": "https://excalidraw.com",
|
||||
"elements": [
|
||||
{
|
||||
"type": "text",
|
||||
"version": 1,
|
||||
"versionNonce": 423577018,
|
||||
"isDeleted": false,
|
||||
"id": "4mylk7KK",
|
||||
"fillStyle": "hachure",
|
||||
"strokeWidth": 1,
|
||||
"strokeStyle": "solid",
|
||||
"roughness": 1,
|
||||
"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": {}
|
||||
}
|
||||
## Drawing
|
||||
```compressed-json
|
||||
N4KAkARALgngDgUwgLgAQQQDwMYEMA2AlgCYBOuA7hADTgQBuCpAzoQPYB2KqATLZMzYBXUtiRoIACyhQ4zZAHoFAc0JRJQgEYA6bGwC2CgF7N6hbEcK4OCtptbErHALRY8RMpWdx8Q1TdIEfARcZgRmBShcZQUebTiAdho6IIR9BA4oZm4AbXAwUDAi6HhxdCgsKGSiyEYWdi40AGZ+YrrWTgA5TjFuAEYATgAOAAYBgDYmgBYmvtbIQg5iLG4I
|
||||
|
||||
XBHq4sJmABFUiuJuADMCMPmIElWp/Rh8AGsEgGlHzcgjwnx8AGVYYNXJXDYDSBV4QZhQUhsO4IADqJHU/XO4Mh0J+tzKYLYHlBkL8kg44WyaDm+UgbDggLUMH6IxG52syj+aDppIgmG4zhG2hG4x4AFZztTmUiIVCEABhLFsUirCiSNRIc6aQF3ZS4paS/DS1YQ6zMCmBTKgijwyTcBIjJraPr886SBCEZTSbgTJEIBCHNBTKY8AbnNXCOAASWIR
|
||||
|
||||
NQOQAuucjuR0iHuBwhJ9zuriATmGHE8nWZphEsAKLBdKZMOR85CODEXAHfoJQYDJo8IaTcZ8v2sogcO4JpP4c5a7DQz2oE74M6so6cKBfQhGMo8Fk1CCTzIAMVw+g+QtQLVZFUwVQkAHlEBxULhUMQ2NghMWoKhFueOGx1ExUBSCU/iKhsERBw/7ygNhUGUBB73BXBSAObQAB0ODg1dpVQV9UE0cJ7ywRBSEIDIxFQDJcE0YJUAAchPDIHzPXBiA
|
||||
|
||||
AK0BDJ7w/BASLgx98xwAgSHIChUDCGRFmUZhUCEJY3xIgAZRY7iE6xvwAFXIDhmF/IQOg4EjtBxSg5MqVZyKoy9r1vBjKKfF97VId9rAQL8fz/O4AOQ4DQPAqIoI9WD4I4RDLJQtDwXwzAsJwjg8IIoibLI09TOouixEyKyCRYjg2I4jxuN4sCoAEoSROWSyJKkmSllQBS9RUtSNNBfcoAAQSIZRGnQeKKhlc46my9x6sdJroHJUE9EyXBFiYeM0
|
||||
|
||||
CzPtWWlR1FgIHSDz06KLyvG87xi59X0spjbN/cwHLUJyQLA3i3OguCEKQvz0MC4LcJs8LiKiijH1i+iEqY5LUvcLjKEy/iOEE4TRIKySu2K+TFOU3xKs0+khCAgAlcJZzKCEhAQfsRoACQdJ1D1QPp4nyABfcAozoXA4DgH5qzKQpIFfdJVga51WgYHCKAAIRVAM8s1bUJEkZh8AACgXIZqFQUYAFJJZ4JppYASk2CAb1IQ0oCDCp9B+FEJSlGUJ
|
||||
|
||||
AAYlpU2NjZtWNa1tJucHXmNQNnVIYNBiVcthjrf0VcPm+X4MQBIEREVfJVZEK3td1sU4WIBE0D4EP3cyT3I9RP3VkEbELbDj3tYR4QnXTMMSWKRPNe1k9KVgGlF0gUvPcQtcNy3REE+zpPtYb6cUf6cYs/VnO0nmuqGt64IjiqPvw7SGmoNq9W2DlEJhwmyeB/0fMljnyFF+o1ZIO3lXlMhT4AA1uEbbRpnGPo+SaIYpmv2+hmLgRsGP/AAE1uAf
|
||||
|
||||
gZtHGBIfQJCGPfR+d82ZGDYAYbg9NagEHRtwLkrYSar3bmkPOeVC6rFTCrNUJAZxzh7NmYouDiD80NqgGBEBOZYmHBAI2fR/7jHFLVVcq5QRI2UEmSCqwTarj5H0IYLC2HIITgbAACgQLKdNiYoOnKKaEJ5sqcEzL2NmcBAhmGEMwAA4thYg+CygrxDjGDcCAkbAwEtA1kD0PTcDRhjVku04B2NIOjc4HBTEuLcVNeGnZUauIQCI4odgaIIGwFkL
|
||||
|
||||
4Hi4AAFk2DLA3oRYIw5RxhHADIug7xghhmAKTYmQA===
|
||||
```
|
||||
%%
|
||||
%%
|
Loading…
Reference in New Issue
Block a user