Изоляции транзакций для собеса в IT и как это спасет тебя(тотальный гайд, которого нигде больше нет)

  Рет қаралды 14,550

Кодируем

Кодируем

Күн бұрын

Изоляции Транзакций. Isolation Levels.
Всем привет, друзья! Сегодня поговорим про уровни изоляций транзакций в базах данных. Одна из самых популярных тем на интервью во всем мире, но которая разбросана поверхностно кусками по интернету и недостаточно полно освещена. Мы попробуем это исправить, подробно обсудим и забрейнштормим все вопросы, процессы, варианты и аномалии, которые могут возникать. Где и как их использовать. Какие есть способы их реализаций и какие есть исследования, которые могут сделать их еще производительнее. Сделаем то, чего еще никто не делал. Остальным остается только копировать! Это будет легко, интересно и поставит вас на 100 уровней выше! Но, мы на этом не остановимся, а пойдем еще дальше и в следующем видео разберем все эти случаи на практике! Поэтому, stay tuned и всем приятного просмотра!
Telegram: t.me/dev_pushkin
Leetcode: leetcode.com/idfumg
GitHub: github.com/idfumg
Gists: gist.github.com/idfumg
0:00 Болтаю об жизни
3:45 ACID (АСИД :) )
5:23 Transaction (Транзакция)
7:36 Isolation (Изоляция)
10:57 Почему несколько уровней?
12:41 Phenomenon (Феномен)
14:53 Lost Update (Потерянное обновление)
20:46 Missing or Double Read (Потерянное или двойное чтение)
25:33 Dirty Read (Грязное чтение)
30:03 Non-Repeatable Read (Не повторяющееся чтение)
35:31 Phantom Read (Фантомное чтение)
41:43 Write-Skew #0 Anomaly
48:23 Write-Skew #1 Anomaly
54:37 Write-Skew #2 Anomaly
59:20 Read-Skew Anomaly
1:10:45 Isolation Level Types (Типы уровней изоляций)
1:11:24 Read Uncommitted
1:12:02 Read Committed
1:14:35 Repeatable Read
1:19:58 Serializable
1:24:29 Advantages and Disadvantages (Плюсы и минусы)
1:25:52 How to choose? (Как выбрать?)
1:30:12 Nuances with Read Committed (Ньюансы с Read Committed)
1:32:02 Nuances with Serializable (Ньюансы с Serializable)
1:44:15 SSI Performance (Serializable Snapshot Isolation Performance)
1:44:19 Concurrency Control Types (Виды контроля Конкарренси)
1:46:51 Isolation Levels are not always an answer (Уровни Изоляций не всегда решают)
#isolation #isolation_levels #transaction #transaction_isolation_levels #programming #database #interview #job #backend #developer #изоляция #уровни_изоляции #транзакции #изоляция_транзакций #базы данных #бд #интервью #работа #собес #собеседование #бэкенд #разработка

Пікірлер: 65
@stalkerandrei9984
@stalkerandrei9984 24 күн бұрын
Первый человек, кто смог нормально объяснить про изоляции с кучей примеров. Спасибо)
@dashaermolich1733
@dashaermolich1733 27 күн бұрын
Спасибо за создание такого контента. Здорово, что столько полезного можно узнать в рамках одного видео.
@vsaliyy
@vsaliyy 26 күн бұрын
Спасибо за такой крутой контент!
@eazy_profit
@eazy_profit 29 күн бұрын
Много кто будет смотреть. Продолжайте, сэр! Мало специфического контент, спасибо за труд
@vova_dev
@vova_dev 16 күн бұрын
Спасибо за ваш труд!
@Sergey-we4ck
@Sergey-we4ck Ай бұрын
Спасибо за контент!
@odoyevsky
@odoyevsky 29 күн бұрын
Очень хороший контент, очень подробно, схемы супер, доходчиво и понятно!
@IlyaDenisov
@IlyaDenisov Ай бұрын
Спасибо, отличный разбор
@Mihes22
@Mihes22 24 күн бұрын
дай бог тебе здоровья!!!
@user-zp7pq5mb8w
@user-zp7pq5mb8w 23 күн бұрын
Очень круто! спасибо!
@RA-Foundation
@RA-Foundation Ай бұрын
Спасибо за проделанную работу! Хорошая подача, интересно послушать, и освежить знания =)
@dev_pushkin
@dev_pushkin Ай бұрын
Большое спасибо :)
@Scarlett-hs9fd
@Scarlett-hs9fd Ай бұрын
Как раз готовлюсь к собесу, и это реально очень хорошо, спасибо!
@user-iq2st2el2d
@user-iq2st2el2d 27 күн бұрын
Очень интересно было смотреть видео. Спасибо за пояснения. ценная информация и желаю продвижения каналу. Хочется больше практики на каких-то реальных примерах и того, как можно избежать приведенных здесь ситуаций, как выработать системный подход к использованию уровня изоляций или же локов
@glebfadeev9782
@glebfadeev9782 28 күн бұрын
Хорошая работа!
@kostiantynjohanlanguedoc3155
@kostiantynjohanlanguedoc3155 26 күн бұрын
🎉 реально удачныьй разбор и подача материала!! Голова просто не успевае впитываеть ..😊 очень нужный контент. Продолжайте. Лайк и подписка
@aghori267
@aghori267 Ай бұрын
Большое спасибо
@zex3920
@zex3920 Ай бұрын
Период дыхания в 1час 52 минуты несовместим с жизнью. Из этого следует, что ты знатный звездобол.
@vova_dev
@vova_dev 15 күн бұрын
Классно, спасибо!
@dev_pushkin
@dev_pushkin 15 күн бұрын
Пожалуйста :)
@AutomationCraft
@AutomationCraft Ай бұрын
круто ! успехов в развитии канала
@dev_pushkin
@dev_pushkin Ай бұрын
Спасибо :)
@user-uv6pm4hs3o
@user-uv6pm4hs3o 23 күн бұрын
Дошел до How to choose. Конспектирую дальше.
@Bankai_Kitetsu
@Bankai_Kitetsu 21 күн бұрын
1:27:22 дошел, пишу)) Спасибо огромное за твой труд! Очень классно все разжевал
@AntonPh-wm4yr
@AntonPh-wm4yr Ай бұрын
в поддержку за транзяшку!
@dev_pushkin
@dev_pushkin Ай бұрын
Спасибо :)
@stealthylama6846
@stealthylama6846 Ай бұрын
Привет. Спасибо за работу. Очень интересное видео. Пара технических вопросов по формату. 1. Есть ли где-то пошареный excalidraw файл презентации? 2. Разные слои это фишка Excalidraw+, или есть и в бесплатной версии? (во время презентации слева. Например "7. Non-Repeatable Read") 3. Курсор-указатель, с красной временной обводкой, при нажатии ЛКМ, это как сделано?
@TorinoSG
@TorinoSG 25 күн бұрын
спасибо
@Apranzo
@Apranzo 28 күн бұрын
Лацк за южный парк
@vladimireliseev7602
@vladimireliseev7602 24 күн бұрын
Вопрос - а как может изменить значение ноды перед, если мы ее залочили(shared lock)? Другая транзакция будет ждать, пока первая не отпустить блокировку. Это я про Missing or Double Read
@zion4d
@zion4d Ай бұрын
1:27:23 полёт нормальный!
@andreip9378
@andreip9378 Ай бұрын
Лайк и сабскрайб 👍
@shananboiara
@shananboiara Ай бұрын
Щикагно
@kostinaleksey
@kostinaleksey 14 күн бұрын
Отличнное видео! Но есть пара замечаний: 1) read uncommitted всеже от одной аномалии защищает - lost update (если верить Wikipedia) 2) snapshot - этот термин более уместен в отношении repeatable read, а не к read commited (опять же из Wikipedia)
@dev_pushkin
@dev_pushkin 14 күн бұрын
Ты немного запутался. Не верь вики и проверь сам в следующем видео. И посмотри ещё видео про concurrency control. Про снэпшот тоже - постарайся не использовать вики как first source of truth. И старайся, когда слово слышишь, учитывать контекст и его смысл, назначение. Он может меняться в разных контекстах. Это важно. В видево я ещё говорил про SI и SSI. Посмотри, какие это уровни.
@stasian11
@stasian11 28 күн бұрын
1:27 - отвечаю на вопрос - доходят :)
@user-yu8kx2mo7k
@user-yu8kx2mo7k Ай бұрын
Я досмотрел до 1:27:33 если что, все круто! :))
@dev_pushkin
@dev_pushkin Ай бұрын
Спасибо большое :)
@Sixez-ib2dz
@Sixez-ib2dz Ай бұрын
Привет оратору на 1:27:00
@mvrschgn
@mvrschgn Ай бұрын
пропустил пару тем пока, но тоже дошел до 1:27:00 ))
@dev_pushkin
@dev_pushkin Ай бұрын
Мы в следующем видео посмотрим их все прямо на практике с реальным docker+pg. Чтобы каждый потыкать мог. А потом будет интересное видео как избегать разного рода таких проблем и не только в бд + практика. Stay tuned :)
@GuruNemo
@GuruNemo Ай бұрын
подождём видео с практикой применения... проблемы понятны, как их решать не очень.
@dev_pushkin
@dev_pushkin Ай бұрын
Привет! Через одно видео как раз пообсуждаем основные паттерны, которые плюс минус варьируются. Я решил сильно видосы не нагружать сразу всем подряд поверхностно, а постепенно идти. Чтобы потом можно было быстро открыть и вспомнить все или попробовать.
@viktorros431
@viktorros431 6 күн бұрын
Собственно вопрос: почему вы коснулись только 4х стандартных аномалий при объяснении уровней изоляции? просто интересно на каком уровне например не возможна Lost Update?
@dev_pushkin
@dev_pushkin 6 күн бұрын
Привет. В видео не только их четыре, а много других. Про лост апдейт - там тоже есть описание, когда можно защититься. В видео по практике мы пытаемся проверить это. В целом, эта аномалия может иметь разные формы и не всегда изоляция защитит. В последнем видео про concurrency control есть и другие способы решения этой проблемы. Думаю, тебе оно может тоже понравиться!
@viktorros431
@viktorros431 6 күн бұрын
@@dev_pushkin Гуд, спасибо за оперативный ответ))
@vermilinguas
@vermilinguas Ай бұрын
1:27 - продолжаю смотреть, правда парочку аномалий пропустил, т.к. всё равно забудется через день
@dev_pushkin
@dev_pushkin Ай бұрын
Да, забывается. Важно помнить не детали, а принципы. Тогда можно быстро подсмотреть, когда нужно.
@user-iq2st2el2d
@user-iq2st2el2d 27 күн бұрын
используй для этих целей интервальное повторение и ничего не забудешь, в течение месяца повторяй. Для этих целей есть anki - создаешь карточки и учишь. Набросай множество тем, выдели час - полтора времени для ежедневного использования. Потом на уровне автоматизма это всё рассказывать будешь, наравне с владением языком
@user-du3uv6jc5x
@user-du3uv6jc5x 23 күн бұрын
я дошел до 1:27:25))
@genarazmakhnin3336
@genarazmakhnin3336 25 күн бұрын
1:27:26
@grigorii9019
@grigorii9019 4 күн бұрын
Сдох на 500 странице книги с кабанчиком, сейчас смотрю это видео. Собираюсь пройти открытые курсы для dev from postgresql. Но до сих пор понять не могу зачем мне все это. Я ведь простой свитчер работающий qa automation😂. Засосало)))
@dev_pushkin
@dev_pushkin 4 күн бұрын
Я ее когда прочитал, понял, что она оставляет дохрена открытых вопросов и сложно использовать. Типа вроде понятно, но куча мест, где чуть влево и вправо и хз уже. Но, енивей, очень хороша все равно и видно громадные усилия автора :)
@grigorii9019
@grigorii9019 4 күн бұрын
По крайней мере мозги вправляет. После нее фраза "раз мы хреново пишем монолиты, то почему кажется, что сможем хорошо микросервисы писать." Кажется менее смешной и более грустной.
@dev_pushkin
@dev_pushkin 4 күн бұрын
@@grigorii9019 не говори :)
@igor5379
@igor5379 Ай бұрын
ты не должен казаться умней интервьювера, не возьмут на работу).
@user-iq2st2el2d
@user-iq2st2el2d 27 күн бұрын
зачем на работу идти вообще? Сейчас столько интересных хакатонов по всему миру. Изучи различные темы и сделай свой проект, там и единомышленников в процессе найдешь, сейчас нет смысла работать, труд свой ты отдаешь навсегда, с его помощью зарабатывают, а ты после ухода ничего не получаешь. Тем более сейчас очень помогают в этом генеративные сети, если ты усидчивый, то сможешь сделать чудесные вещи. Набираешь с таких видео базовую информацию, фиксируешь темы, а потом придумываешь ситуации и описываешь их генеративной сетке, так обучаешься очень быстро
@grigorii9019
@grigorii9019 3 күн бұрын
Я дошел до 1.5 часов😂.
@dev_pushkin
@dev_pushkin 3 күн бұрын
Теперь в случае чего сможешь быстро найти, отмотать и вспомнить :)
@GuruNemo
@GuruNemo Ай бұрын
а что за локи, про которые ты постоянно говоришь? и без примеров в коде плохо воспринимается.
@dev_pushkin
@dev_pushkin Ай бұрын
Привет! В следующем видео вместе все попробуем прямо в консоли потыкать.
@GuruNemo
@GuruNemo Ай бұрын
@@dev_pushkin ок, товарищ Пушкин.
@user-su5by2uj6q
@user-su5by2uj6q Ай бұрын
Всё классно, просто ваш контент не совсем для новичков, поэтому люди видимо не знают что написать)
@dev_pushkin
@dev_pushkin Ай бұрын
Возможно, конечно, стоит миксовать с темами по-проще. Енивей, спасибо большое за коммент ❤️
@mirfees260
@mirfees260 Ай бұрын
@@dev_pushkin Я вот новичек, по факту, учусь только основам всего, но вижу это видео и понимаю, что совсем скоро оно мне понадобиться и сохраняю его.
Buy Feastables, Win Unlimited Money
00:51
MrBeast 2
Рет қаралды 88 МЛН
Glow Stick Secret 😱 #shorts
00:37
Mr DegrEE
Рет қаралды 122 МЛН
Зу-зу Күлпәш. Агроном. (5-бөлім)
55:20
ASTANATV Movie
Рет қаралды 507 М.
Про Kafka (основы)
49:23
Владимир Богдановский
Рет қаралды 346 М.
Learn Database Normalization - 1NF, 2NF, 3NF, 4NF, 5NF
28:34
Decomplexify
Рет қаралды 1,7 МЛН
Чем и зачем заменить Postman в 2024-м
13:21
Михаил Непомнящий
Рет қаралды 27 М.
Первый Алгоритм Для Изучения в 2024
8:13
Саша Лукин
Рет қаралды 56 М.
Introducing GPT-4o
26:13
OpenAI
Рет қаралды 3,2 МЛН
СЛОМАЛСЯ ПК ЗА 2000$🤬
0:59
Корнеич
Рет қаралды 2,3 МЛН
📱 SAMSUNG, ЧТО С ЛИЦОМ? 🤡
0:46
Яблочный Маньяк
Рет қаралды 800 М.