[Engineering] Обеспечение согласованности данных в PostgreSQL

56 Просмотры
Издатель
Поговорили о том, как обеспечить согласованность данных на уровне приложения, и как в этом может помочь СУБД.

В рамках доклада мы затронули следующие темы:
* Что такое согласованность данных
* Как работает механизм транзакций
* Какие есть уровни изолированности в стандарте SQL

Докладчик: Алексей Марашов / Aleksey Marashov

Полезные ссылки:
* Цикл статей про MVCC в PostgreSQL от А до Я - https://habr.com/ru/company/postgrespro/blog/442804/
* Цикл статей про блокировки в PostgreSQL от А до Я - https://habr.com/ru/company/postgrespro/blog/462877/
* 7 Советов по работе с блокировками, которые нужно знать наизусть - https://habr.com/ru/company/otus/blog/452986/
* Как выполняются параллельные транзакции — наглядно на схеме - https://vladmihalcea.com/how-does-mvcc-multi-version-concurrency-control-work/
* Исследуем работу блокировок и MVCC на практике - https://zelark.github.io/exploring-query-locks-in-postgres/

Сейчас у нас открыто много вакансий для Python, Go, C инженеров, а также системных инженеров. Присоединяйтесь к нашей команде, у нас классно (что мы и постараемся показать публикуемыми роликами)!

Вакансии: https://gcorelabs.com/ru/careers/

Таймкоды:
00:00:00 Вступление
00:01:14 Что такое согласованность данных
00:03:02 Пример нарушения согласованности
00:03:55 Механизм транзакций
00:05:00 Конкурентное выполнение транзакций
00:06:30 Определение транзакции
00:08:48 Уровни изолированности в стандарте SQL
00:13:55 Реализации конкурентного доступа
00:15:00 Пример двухфазной блокировки
00:17:09 MVCC в PostgreSQL
00:24:51 Неповторяющееся чтение на уровне Read Committed
00:27:07 Пример потерянного обновления на Read Committed
00:27:44 Уровень Repeatable Read
00:28:44 Блокировки в PostgreSQL
00:30:26 Советы на основе понимания блокировок
00:33:57 Пример возникновения дедлока
00:36:42 Обзор полезных материалов
00:37:55 Q&A
Категория
Занимательный русский язык
Комментариев нет.