Открытый урок: как на самом деле работают транзакции в Postgres | MVCC, уровни изоляции и блокировки
Прошу прощения за звук, Егора почти не слышно... В этом открытом уроке разбираю, как на самом деле работают транзакции в PostgreSQL и почему одного @Transactional недостаточно для защиты от проблем конкурентного доступа. Поговорим не только о теории, но и о том, что реально происходит внутри PostgreSQL и Spring-приложений. В уроке: • Что такое MVCC и зачем PostgreSQL хранит несколько версий строк • Почему читатели не блокируют писателей • Dirty Read, Non-repeatable Read, Phantom Read, Lost Update и Write Skew • READ COMMITTED, REPEATABLE READ и SERIALIZABLE в PostgreSQL • Как работают снимки данных (snapshots) • Строковые, табличные и индексные блокировки • FOR UPDATE и FOR SHARE • Почему SELECT может не видеть строку, а INSERT уже конфликтует по UNIQUE индексу • Optimistic Locking (@Version) в Hibernate • Pessimistic Locking (PESSIMISTIC_WRITE, PESSIMISTIC_FORCE_INCREMENT) • Как выбирать стратегию блокировок для реальных задач • Практические примеры на Spring Boot + PostgreSQL Этот урок является частью моего подхода к менторингу Java Backend-разработчиков, где основной акцент делается не на запоминании аннотаций, а на понимании механизмов, которые стоят за ними. Таймкоды: 00:00 Введение 05:25 MVCC и снимки данных 23:42 Аномалии конкурентного доступа 43:49 Уровни изоляции PostgreSQL 01:09:12 Optimistic Locking (@Version) 01:17:56 Pessimistic Locking 01:29:00 Как выбирать стратегию блокировок 01:31:08 Демонстрация Наш канал в телеграмм https://t.me/Java_for_beginner_dev. Мы не претендуем на правильность всего сказанного в видео, мы только учимся)) Знаете что-то лучше и готовы поделиться - добро пожаловать! #PostgreSQL #Java #SpringBoot #Spring #Backend #MVCC #Hibernate #JPA #Database #Transactional
Прошу прощения за звук, Егора почти не слышно... В этом открытом уроке разбираю, как на самом деле работают транзакции в PostgreSQL и почему одного @Transactional недостаточно для защиты от проблем конкурентного доступа. Поговорим не только о теории, но и о том, что реально происходит внутри PostgreSQL и Spring-приложений. В уроке: • Что такое MVCC и зачем PostgreSQL хранит несколько версий строк • Почему читатели не блокируют писателей • Dirty Read, Non-repeatable Read, Phantom Read, Lost Update и Write Skew • READ COMMITTED, REPEATABLE READ и SERIALIZABLE в PostgreSQL • Как работают снимки данных (snapshots) • Строковые, табличные и индексные блокировки • FOR UPDATE и FOR SHARE • Почему SELECT может не видеть строку, а INSERT уже конфликтует по UNIQUE индексу • Optimistic Locking (@Version) в Hibernate • Pessimistic Locking (PESSIMISTIC_WRITE, PESSIMISTIC_FORCE_INCREMENT) • Как выбирать стратегию блокировок для реальных задач • Практические примеры на Spring Boot + PostgreSQL Этот урок является частью моего подхода к менторингу Java Backend-разработчиков, где основной акцент делается не на запоминании аннотаций, а на понимании механизмов, которые стоят за ними. Таймкоды: 00:00 Введение 05:25 MVCC и снимки данных 23:42 Аномалии конкурентного доступа 43:49 Уровни изоляции PostgreSQL 01:09:12 Optimistic Locking (@Version) 01:17:56 Pessimistic Locking 01:29:00 Как выбирать стратегию блокировок 01:31:08 Демонстрация Наш канал в телеграмм https://t.me/Java_for_beginner_dev. Мы не претендуем на правильность всего сказанного в видео, мы только учимся)) Знаете что-то лучше и готовы поделиться - добро пожаловать! #PostgreSQL #Java #SpringBoot #Spring #Backend #MVCC #Hibernate #JPA #Database #Transactional




