Telegram post: https://t.me/koduryem/25
Контроль конкурентности. Concurrency Control.
Всем привет! В этом видео попробуем рассмотреть основные вопросы на собесе и по работе о том, как работать с разделяемыми данными в бд и не испортить их. Какие есть основные и не очень техники и в какой ситуации их употреблять. Что такое и когда использовать pessimistic или optimistic, for update, nowait и другое. Посмотрим, стоит ли использовать уровни изоляций транзакций или можно обойтись без них.
Telegram post: https://t.me/koduryem/25
Telegram: https://t.me/koduryem
Leetcode: https://leetcode.com/idfumg
GitHub: https://github.com/idfumg
Gists: https://gist.github.com/idfumg
0:00 Начинаем
04:10 Паттерны
05:21 Пессимистичный лок
14:45 Оптимистичный лок
21:18 Что лучше?
28:23 Read-Modify-Write
32:10 Two Threads
33:10 Lost Update
35:12 Transactions
37:38 Atomic Operations
42:58 FOR UPDATE
46:57 Serializable
48:32 Optimistic #1
53:25 Optimistic #2
1:01:27 CQRS
1:06:40 CQRS+FOR UPDATE
1:10:51 NOWAIT
1:16:17 SKIP LOCKED
1:28:02 Outro
#isolation #isolation_levels #transaction #transaction_isolation_levels #programming #database #interview #job #backend #developer #изоляция #уровни_изоляции #транзакции #изоляция_транзакций #базы данных #бд #интервью #работа #собес #собеседование #бэкенд #разработка #concurrency #concurrency_control #контроль_конкурентности #конкурентность #for_update #postgresql