6. Базы данных. Оптимизация запросов. Оптимизация структуры данных | Технострим

6. Базы данных. Оптимизация запросов. Оптимизация структуры данных | Технострим



Слайды лекции: bozaro.github.io/tech-db-lectures/06/
► Другие лекции курса: www.youtube.com/playlist?list=PLrCZzMib1e9oOFQbuOgjKYbRUoA8zGKnj
Подробнее о курсе: park.mail.ru/curriculum/program/discipline/218/
Лекция читается в рамках образовательного проекта «Технопарк Mail.ru Group» при МГТУ им.Баумана.
КРАТКОЕ СОДЕРЖАНИЕ:
Лекция посвящена производительности (оптимизации работы с БД).
Рассматриваются следующие темы:
— Нормализация и денормализация данных;
— Оптимизация запросов конкретных типов;
— Разница между актуальными и историческими данными;
— Секционирование;
— Оптимизация на уровне приложения;
— Примеры эффективного массового изменения данных.
Хронометраж:
00:00:03 О теме лекции
00:00:54 Нормализация и денормализация данных (на примере тестовой БД из прошлой лекции)
00:02:43 Вопрос залу: о приоритете применения того или метода построения запроса
00:04:10 Повторение пройденного материала: о покрывающем индексе
00:04:45 Повторение пройденного материала: про подзапросы (SUBQUERIES)
00:07:47 Повторение пройденного материала: краткий итог
00:11:01 Вопрос залу: в каком случае не нужны индексы для внешних ключей (FOREIGN KEY)?
00:12:44 Продолжение рассмотрения примера из тестовой БД: Заменим 'Zombie%' на 'Comedy%'
00:13:12 Оптимизируйте доступ к данным (Модификация запросов)
00:17:45 Нормализация (плюсы нормализации данных)
00:18:56 Денормализация (методы денормализации данных)
00:22:04 Нормализация/денормализация: пример
00:25:18 Оптимизация запросов конкретных типов
00:25:33 Оптимизация DELETE: очистка таблицы
00:28:07 Оптимизация COUNT(*): получение кол-ва записей в таблице
00:31:28 Оптимизация COUNT(*): получение кол-ва записей после выполнения запроса
00:33:20 Оптимизация LIMIT со смещением
00:40:46 Оптимизация: случай из практики
00:44:21 Исторические и актуальные данные (Настоящее vs Прошлое)
00:46:44 Актуальные данные (особенности и проблемы)
00:49:12 Исторические данные (особенности и проблемы)
00:57:47 Вопрос из зала по пройденному материалу
00:58:17 Ответ и уточняющие вопросы
01:00:36 Исторические данные (особенности и проблемы) — продолжение
01:02:03 Цитата о «биг дата»
01:02:49 Секционирование (англ. partitioning)
01:06:48 Секционирование: наследование
01:16:13 Секционирование: наследование (плюсы и минусы)
01:19:46 Секционирование: pg_pathman (плюсы и минусы)
01:22:11 Секционирование: PostgreSQL 10 (плюсы и минусы)
01:23:45 Оптимизация на уровне приложения (Уменьшение времени блокировок)
01:26:56 Разбиение запроса на более мелкие
01:31:09 Модификация схемы
01:39:50 Группировка UPDATE
01:45:54 Массовая вставка данных
01:53:08 Загрузка данных через COPY
01:55:11 Блокировки (Пессимистичная / Оптимистичная)
01:59:54 Ограничение времени ожидания (Долгий / Ждущий / Срочный запрос)
02:04:42 CREATE INDEX (Блокирующее / Неблокирующее создание индекса)
02:05:36 ALTER TABLE (Классический / Сокращенный вариант)
О КАНАЛЕ:
Официальный канал образовательных проектов Mail.Ru Group
► Нажмите здесь для подписки ‣ www.youtube.com/TPMGTU?sub_confirmation=1
Актуальные лекции и мастер-классы о программировании от лучших IT-специалистов. Если вы увлечены мобильной и веб-разработкой, присоединяйтесь!
Наши проекты:
Технопарк при МГТУ им. Баумана ‣ park.mail.ru
Техносфера при МГУ им. Ломоносова ‣ sphere.mail.ru
Технотрек при МФТИ ‣ track.mail.ru
Техноатом при МИФИ — atom.mail.ru
Технополис при СПбПУ — polis.mail.ru
— МЫ В СЕТИ:
Технопарк в ВК | vk.com/tpmailru
Техносфера в ВК | vk.com/tsmailru
Технотрек в ВК | vk.com/trackmailru
Техноатом в ВК | vk.com/technoatom
Технополис в ОК: www.ok.ru/technopolis
Технополис в ВК: vk.com/technopolis_ok
Блог на Хабре | habrahabr.ru/company/mailru

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.