4. Базы данных. Транзакции. Триггеры и хранимые процедуры

  Рет қаралды 45,436

VK Team

VK Team

7 жыл бұрын

Слайды лекции: bozaro.github.io/tech-db-lect...
Лекция читается в рамках образовательного проекта «Технопарк Mail.ru Group» при МГТУ им. Баумана. Лекция посвящена транзакциям, триггерам и хранимым процедурам.
00:05 О теме лекции
00:20 Введение в транзакции
01:34 ACID - требования к транзакционной системе
02:03 Atomicity - атомарность
02:53 Consistency - согласованность
03:35 Isolation - изолированность
04:01 Durability - долговечность
05:28 Как выглядят транзакции (синтаксически)? Пример транзакции
06:22 Для чего нужна транзакционная система?
07:10 Журнал транзакций (долговечность и атомарность)
08:15 Две проблемы устройств хранения информации
09:57 Общий алгоритм работы с журналом транзакций
11:20 Что происходит в случае сбоя?
14:15 Важное ограничение: минимальное время транзакции
14:40 Вопрос из зала: что произойдёт, если сбой случится во время сброса данных на диск?
15:40 IOPS - количество записей операций на устройство хранения в секунду
16:44 Несколько способов сократить время записи на устройство хранения
22:23 Журнал транзакций, ещё один момент (резервная копия журнала транзакций)
23:40 Вопрос из зала: как долго хранится журнал транзакций?
23:53 Point in time recovery и репликация
25:19 Два подхода к изолированности (Isolation)
26:34 MVCC (мультиверсионность)
40:10 Слайд с блокировками
44:23 Уровни изолированности транзакций
47:22 Потерянное обновление (Lost Update) (см. слайд с блокировками)
51:33 «Грязное» чтение (Dirty Read)
53:52 Неповторяющееся чтение (Non-Repeatable Read)
55:42 Чтение «фантомов» (Phantom Reads)
58:04 Аномалии сериализации (Serializable)
01:05:08 Случай из практики
01:06:43 Требования к размеру транзакций, транзакции на чтение
01:08:59 Хранимые процедуры
01:10:23 Хранимые процедуры в PostgreSQL
01:13:37 Плюсы хранимых процедур
01:14:58 Минусы хранимых процедур
01:16:22 Хранимые процедуры: пример
01:17:27 Поддержка нескольких языков для хранимых процедур в PostgreSQL
01:18:28 Язык PL/pgSQL
01:20:51 Триггеры
01:25:12 Триггеры: переменные
01:27:19 Триггеры: пример
01:31:27 XA-транзакции (распределённые транзакции)
01:34:04 Три роли, участвующие в распределённой транзакции
01:38:38 XA-транзакции: пример
01:41:09 Плюсы распределённых транзакций
01:42:01 Минусы распределённых транзакций
01:46:16 Персистентные очереди
01:57:55 Плюсы персистентных очередей
02:00:35 Минусы персистентных очередей
------------------------
Цель курса: знать концепцию и принципы реляционной модели данных, методы проектирования баз данных, методику построения запросов, подходы к профилированию производительности, методику оптимизации запросов к БД MySQL, подходы к администрированию хранилища данных на основе БД MySQL, основы архитектуры современных СУБД, основы и границы применимости реляционной модели, основные типы нереляционных баз данных, а также область их применимости при построении хранилищ данных.
Уметь проектировать концептуальные и логические схемы для высоконагруженных баз данных, строить запросы на выборку и модификацию данных к реляционным СУБД, профилировать производительность хранилища данных на основе БД MySQL, оптимизировать запросы и структуру реляционной БД в целях повышения производительности, выполнять запросы к нереляционной документоориентированной СУБД, разрабатывать прикладные программы, осуществляющие взаимодействие с БД программы, осуществляющие взаимодействие с БД.
Другие лекции курса: • Курс · Базы данных (ве...
VK Team - это безграничные возможности проявить себя. Мы делаем современные и быстрые интернет-сервисы, доступные каждому. На этом канале делимся опытом компании VK, рассказываем о технологиях, наших образовательных проектах и жизни команды.
😎 Сообщество ВКонтакте: vkteam
👨‍🎓 VK Education: education.vk.company/
🏆 Чемпионаты: cups.online/
👨‍💻 Карьера в VK: team.vk.company/

Пікірлер: 10
@lonchakovav
@lonchakovav 3 жыл бұрын
Лектору респект. Эстонцу, листающему слайды, привет.
@usersbit
@usersbit 7 жыл бұрын
Жаль, что слайды не полностью синхронизированы с записью :(
@user-ss2rj4wz5s
@user-ss2rj4wz5s 4 жыл бұрын
Технострим видео конечно хорошие выпускает, но монтирует на от***ись. Сложно слайды синхронно показывать? Взялся делать - делай хорошо
@mslq
@mslq 5 ай бұрын
Спасибо, хорошая подборка лекций, для меня основная обучалка.
@user-gv8tk3bb8f
@user-gv8tk3bb8f 6 жыл бұрын
О, пасхалочка на слайде про принцип изолированности в начале лекции. Символ убежища № 13 - отсылка к первым двум частям Fallout. По эксперименту это убежище должно было оставаться всегда закрытым и изолированным от всего мира.
@user-bc3ne1xq1c
@user-bc3ne1xq1c 2 жыл бұрын
12:50 в чем разница между записью на диск и сбросом на диск?
@user-etyuhj8
@user-etyuhj8 6 жыл бұрын
Дааа... объяснять про транзакции в асинхроне, это ужас )
@SergeyZhuravlev116
@SergeyZhuravlev116 7 жыл бұрын
По поводу "SELECT не вызывает блокировок". На практике встретил ситуацию в MS SQL Server 2012, когда транзакция на чтение блокировала данные. Был SELECT к представлению, содержащему данные с двух серверов (linked server). Сервер просто блокировал таблицы в представлении.
@user-eu1mc2hb9f
@user-eu1mc2hb9f 4 ай бұрын
Если что с 11й postgresql появились процедуры (для тех кто смотрит сейчас)
@pages777
@pages777 5 ай бұрын
+++
КАХА и Джин 2
00:36
К-Media
Рет қаралды 4,1 МЛН
Indian sharing by Secret Vlog #shorts
00:13
Secret Vlog
Рет қаралды 57 МЛН
Do you have a friend like this? 🤣#shorts
00:12
dednahype
Рет қаралды 49 МЛН
Тяжелые будни жены
00:46
К-Media
Рет қаралды 5 МЛН
Пришёл Intern - оказался JUNIOR Strong / Интервью на позицию DevOps Engineer / Мок собес  / 1
1:36:38
DEV1-12. 09. Процедуры
20:48
Postgres Professional
Рет қаралды 10 М.
КАХА и Джин 2
00:36
К-Media
Рет қаралды 4,1 МЛН