vault backup: 2024-07-02 18:07:53

This commit is contained in:
Struchkov Mark 2024-07-02 18:07:53 +03:00
parent 813cea5421
commit a119b71a3f
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
8 changed files with 94 additions and 129 deletions

View File

@ -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",

View File

@ -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": [],

View File

@ -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": [],

View File

@ -9,14 +9,19 @@ zero-link:
parents:
- "[[Уровни изоляций транзакций БД]]"
linked:
next: "[[Repeatable read]]"
prev: "[[Read uncommitted]]"
---
**Read committed (чтение фиксированных данных).** Большинство промышленных СУБД по умолчанию используют именно этот уровень. На этом уровне обеспечивается защита от «грязного» чтения, тем не менее, в процессе работы одной транзакции другая может быть успешно завершена и сделанные ею изменения зафиксированы. В итоге первая транзакция будет работать с другим набором данных. ^11df20
Реализация:
**Реализация:**
- Использование [Блокировки](Блокировки.md). Устанавливаем блокировку строк на запись
- Сохраняем старые значения строк до коммита изменений. Отдаем их другим транзакциям. ([MVCC](MVCC.md))
Проблемы:
**Минусы:**
- Большое потребление RAM, так как создает множество временных сущностей.
**Проблемы:**
- [Неповторяющееся чтение](Неповторяющееся%20чтение.md)
- [Фантомное чтение](Фантомное%20чтение.md)
- [Потерянное обновление](Потерянное%20обновление.md)

View File

@ -9,6 +9,7 @@ zero-link:
parents:
- "[[Уровни изоляций транзакций БД]]"
linked:
next: "[[Read committed]]"
---
**Read uncommitted (чтение незафиксированных данных).** Если несколько параллельных транзакций пытаются изменять одну и ту же строку таблицы, то в окончательном варианте строка будет иметь значение, определенное всем набором успешно выполненных транзакций. ^52421e

View File

@ -10,6 +10,8 @@ zero-link:
parents:
- "[[Уровни изоляций транзакций БД]]"
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)

View File

@ -9,5 +9,9 @@ zero-link:
parents:
- "[[Уровни изоляций транзакций БД]]"
linked:
prev: "[[Repeatable read]]"
---
**Serializable (упорядочиваемость).** Самый высокий уровень изолированности; транзакции полностью изолируются друг от друга, каждая выполняется так, как будто параллельных транзакций не существует. Только на этом уровне параллельные транзакции не подвержены эффекту «фантомного чтения». ^fdb385
**Минусы:**
- Самый медленный уровень изоляции

View File

@ -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===
```
%%