Помилка в розумінні нонріпітибл фантому і його начебто неіснування в постгре на рівні рід-комітед ізоляції! 28:40 Ти кажеш, що в Постгре неможливий нон-ріпітебл рід, бо кожен потік читає зі свого снепшоту. Але це не розуміння того, що таке репітебл рід по суті, нам не треба робити селект в рамках 1 транзакції, що це стало репітебл рідом - нам достатньо того, що під час виконання нашої транзакції в данних, які у нас на руках відбулися зміни іншою транзою, під час виконання нашої, а не те що ми робимо 2 рази селект і отримуємо інші дані - це лише для ілюстрації, що наші дані змінился під час нашої роботи з ними, а не тому ще ми фактично робимо цій селекти в транзі. І відповідно, саме в прикладі на 41:52 ми бачимо, що аномалія нон-репітебл-рід в постгре склю ІСНУЄ!!! - бо він, хоч і бачить, що є конфлікт і тому чекає поки перша закомітиться, але потім просто ПЕРЕТИРАЄ дані першої транзакції своїми даними. Ну і відповідно пояснення, що на рівні-рід комітет можливо виключити нон-репітебл-рід на рівні БД, і це тільки можливий, а не обовїязковий фантом - не правильні.
Чесно кажучи мені важко зрозуміти, чому я так говорив... Можливо я мав на увазі "dirty read", або щось наплутав. Звичайно, що аномалія "non-repeatable read" в PostgreSQL існує і це чітко видно в доці: www.postgresql.org/docs/15/transaction-iso.html При рівні ізольованості "READ COMMITTED" новий снепшот завантажується при кожному запиті, тому всі зміни закомічені іншими транзакціями будуть видимі. Дякую, що уважно слухаєте і пишете коментарі! 😅
@@Bobocodeдякую що написали цей комент, після відео вирішив чекнути інфу з відео, на моє здивування repeatable read дійсно читав вже закомічені дані з іншої транзакції, чекнув доку, там дійсно написано що це очікувана поведінка, гадав я неправильно відео зрузомів, почав передивлятись та вирішив глянути коменти, ви зекономили мені 10хв життя дякую
👉 Навчання від Bobocode: bit.ly/3IRrJhj
Кльове відео!
Дякую!
Реально крута інформація) Дивлюсь весь плейлист і закриваю прогалини в знаннях))
Більше половини плейліста вже позаду 😆
@@Bobocode я це все вчив але кожен раз забуваю, повтрюю перед спвбесідами.
Дякую, Тарасе! Дуже корисну інфу даєш!
Забагато крутої інфи😀
Лайкнув, давайте наступне відео
Давай по всьому плейлісту не забудь пройтися! :). Я вже. До речі, а ти попередні, крім лайкнути вивчив? :) Я ні.
Помилка в розумінні нонріпітибл фантому і його начебто неіснування в постгре на рівні рід-комітед ізоляції!
28:40 Ти кажеш, що в Постгре неможливий нон-ріпітебл рід, бо кожен потік читає зі свого снепшоту. Але це не розуміння того, що таке репітебл рід по суті, нам не треба робити селект в рамках 1 транзакції, що це стало репітебл рідом - нам достатньо того, що під час виконання нашої транзакції в данних, які у нас на руках відбулися зміни іншою транзою, під час виконання нашої, а не те що ми робимо 2 рази селект і отримуємо інші дані - це лише для ілюстрації, що наші дані змінился під час нашої роботи з ними, а не тому ще ми фактично робимо цій селекти в транзі.
І відповідно, саме в прикладі на 41:52 ми бачимо, що аномалія нон-репітебл-рід в постгре склю ІСНУЄ!!! - бо він, хоч і бачить, що є конфлікт і тому чекає поки перша закомітиться, але потім просто ПЕРЕТИРАЄ дані першої транзакції своїми даними.
Ну і відповідно пояснення, що на рівні-рід комітет можливо виключити нон-репітебл-рід на рівні БД, і це тільки можливий, а не обовїязковий фантом - не правильні.
Чесно кажучи мені важко зрозуміти, чому я так говорив... Можливо я мав на увазі "dirty read", або щось наплутав. Звичайно, що аномалія "non-repeatable read" в PostgreSQL існує і це чітко видно в доці: www.postgresql.org/docs/15/transaction-iso.html
При рівні ізольованості "READ COMMITTED" новий снепшот завантажується при кожному запиті, тому всі зміни закомічені іншими транзакціями будуть видимі.
Дякую, що уважно слухаєте і пишете коментарі! 😅
@@Bobocode Готуюся до співбесіди на мідла, тому уважно підтягую прогалини. :) Дуже дякую за контент і за відповідь! )
@@Bobocode А про dirty read дісно говорив окремо, що в постгре відсутній рівень read uncommited.
@@MrRomanvideo бажаю удачі, у вас все вийде!
@@Bobocodeдякую що написали цей комент, після відео вирішив чекнути інфу з відео, на моє здивування repeatable read дійсно читав вже закомічені дані з іншої транзакції, чекнув доку, там дійсно написано що це очікувана поведінка, гадав я неправильно відео зрузомів, почав передивлятись та вирішив глянути коменти, ви зекономили мені 10хв життя дякую