Изменения документа Транзакции и блокировки

Редактировал(а) Alexandr Fokin 2024/06/01 13:29

<
От версии < 18.9 >
отредактировано Alexandr Fokin
на 2022/11/25 17:29
К версии < 18.7 >
отредактировано Alexandr Fokin
на 2022/11/13 18:41
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -16,10 +16,19 @@
16 16  
17 17  ----
18 18  
19 -**[[Блокировки>>doc:Архитектура и модели.Блокировки.WebHome]]**
19 +**Понятие оптимистичной и пессимистичной блокировок.**
20 20  
21 -{{children/}}
21 +Оптимистичная:
22 +Берем элемент (не блокируя) (фиксируем version/timestamp)
23 +Производим обработку.
24 +Проверяем, что version/timestamp не изменился. (иначе ошибка/повторная обработка/игнорирования, что исходные данные изменились с момента начала обработки)
25 +Сохраняем элемент.
22 22  
27 +Пессимистичная:
28 +Берем элемент. (блокируя его некоторым образом) (в момент блокировки другой обработчик не может получить доступ и ожидает)
29 +Производим обработку.
30 +Сохраняем элемент.
31 +
23 23  ----
24 24  
25 25  Руководство по блокировке и управлению версиями строк транзакций
... ... @@ -43,8 +43,13 @@
43 43  Транзакции
44 44  https://www.flenov.info/books/read/transact-sql/32
45 45  
46 -----
47 47  
56 +Optimistic vs. Pessimistic Locking
57 +https://medium.com/@recepinancc/til-9-optimistic-vs-pessimistic-locking-79a349b76dc8
58 +
59 +Optimistic locking and automatic retry
60 +https://enterprisecraftsmanship.com/posts/optimistic-locking-automatic-retry/
61 +
48 48  DotNetRu | Александр Шелёмин «Concurrency в базах данных»
49 49  https://www.youtube.com/watch?v=a6YzdDFzDl8
50 50