- PVSM.RU - https://www.pvsm.ru -

Лекции Технопарка. Базы данных (весна 2017)

Лекции Технопарка. Базы данных (весна 2017) - 1

Всем жаждущим знаний предлагаем ознакомиться с новыми лекциями Технопарка, посвящённым базам данных. Курс ведёт Артём Навроцкий, ведущий программист в Allods Team.

Список лекций:

  1. Введение [1]
  2. Модификация и выборка данных [2]
  3. Выборка данных (продолжение) [3]
  4. Транзакции. Триггеры и хранимые процедуры [4]
  5. Индексы и производительность [5]
  6. Оптимизация запросов. Оптимизация структуры данных [6]
  7. Репликация, полнотекстовый поиск, JSON [7]
  8. Сохранность данных [8]

Цель курса — это дать знания по:

  • Концепции и принципам реляционной модели данных.
  • Методам проектирования баз данных.
  • Подходам к профилированию производительности.
  • Основам архитектуры современных СУБД.
  • Основам и границам применимости реляционной модели.
  • Основным типам нереляционных баз данных, а также области их применимости при построении хранилищ данных.

Привить навыки:

  • Проектированию концептуальных и логических схем для высоконагруженных баз данных.
  • Построению запросов на выборку и модификацию данных к реляционным СУБД.
  • Оптимизации запросов и структура реляционной БД в целях повышения производительности.
  • Выполнению запросов к нереляционной документоориентированной СУБД.
  • Разработке прикладных программ, осуществляющих взаимодействие с БД.

Лекция 1. Введение

Из первой лекции вы узнаете, зачем нужны СУБД, какова краткая история развития баз данных, что такое реляционные БД и NoSQL. Познакомитесь с реляционной моделью данных и основными операциями в рамках БД. Также в ходе лекции обсуждаются первичный и суррогатный ключи, рассказывается о типах данных в PostgreSQL. Вы познакомитесь с примерами схем баз данных, версионированием схем. Обсуждается задача генерации БД на основе исходного кода, методы инкрементных и идемпотентных изменений.

Лекция 2. Модификация и выборка данных

Первая часть лекции посвящена введению в проектирование баз данных. Вторая часть посвящена основам SQL: основные команды, создание таблиц, выборка данных. Затрагивается тема JOIN'ов, проводится обзор INFORMATION_SCHEMA. И в завершении обсуждается, как можно хранить иерархические структуры в базах данных.

Лекция 3. Выборка данных (продолжение)

Начало третьей лекции посвящено COLLATION и регистронезависимому поиску. Затем рассказывается о задаче выборки данных (SELECT): формирование подзапросов, оконные функции, UNION, снова поднимается тема JOIN’ов, обсуждаются рекурсивные запросы. И в завершение вы узнаете про операцию VIEW.

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

Лекция состоит из четырёх частей. Первая часть посвящена транзакциям: обсуждается задача обеспечения долговечности, формирование журнала транзакций, обеспечение изолированности и атомарности, а также уровни изолированности транзакций. Затем рассказывается о триггерах: как можно их использовать для поддержания целостности и бизнес-логики, каковы их недостатки. Далее обсуждаются хранимые процедуры и функции, а в завершение рассказывается о распределённых транзакциях и персистентных очередях.

Лекция 5. Индексы и производительность

Из пятой лекции вы узнаете, что такое индексы баз данных, как выполняется протоколирование запросов, для чего нужен и как составляется план запросов EXPLAIN. Также рассматриваются варианты соединения таблиц.

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

Эта лекция тоже посвящена проблематике повышения производительности баз данных. Вы узнаете о нормализации и денормализации данных. Познакомитесь с оптимизацией запросов конкретных типов. Далее рассказывается о разнице между актуальными и историческими данными, о секционировании, оптимизации на уровне приложения. В завершение приводятся примеры эффективного массового изменения данных.

Лекция 7. Репликация, полнотекстовый поиск, JSON

Эта лекция состоит из четырёх частей. Первая посвящена репликации: рассказывается о физической, логической, синхронной и асинхронной репликациях, о балансировке и отказоустойчивости, а также о проблемах репликации. Затем обсуждается проблематика полнотекстового поиска. Далее затрагивается вопрос хранения в БД географических данных. И в завершение рассказывается о хранении слабоструктурированных данных (JSON).

Лекция 8. Сохранность данных

Последняя лекция посвящена различным аспектам обеспечения сохранности информации в базах данных. Сначала рассказывается о резервном копировании, о его отличии от репликации, о создании логических и физических резервных копий. Затем вы узнаете о том, как нужно конфигурировать базы данных: каковы общие принципы настройки, как настраивать память и ввод/вывод, что такое табличные пространства, как собирать информацию о текущем состоянии сервера. И завершающая часть лекции посвящена обеспечению безопасности: политикам прав доступа и защите от SQL-инъекций.


Плейлист всех лекций находится по ссылке [9]. Напомним, что актуальные лекции и мастер-классы о программировании от наших IT-специалистов в проектах Технопарк, Техносфера и Технотрек по-прежнему публикуются на канале Технострим [10].

Другие курсы Технопарка на Хабре:

Информацию обо всех наших образовательных проектах вы можете найти в недавней статье [16].

Автор: Mail.Ru Group

Источник [17]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka/256827

Ссылки в тексте:

[1] Введение: https://habrahabr.ru/company/mailru/blog/329928/#lekciya-1-vvedenie

[2] Модификация и выборка данных: https://habrahabr.ru/company/mailru/blog/329928/#lekciya-2-modifikaciya-i-vyborka-dannyh

[3] Выборка данных (продолжение): https://habrahabr.ru/company/mailru/blog/329928/#lekciya-3-vyborka-dannyh-prodolzhenie

[4] Транзакции. Триггеры и хранимые процедуры: https://habrahabr.ru/company/mailru/blog/329928/#lekciya-4-tranzakcii-triggery-i-hranimye-procedury

[5] Индексы и производительность: https://habrahabr.ru/company/mailru/blog/329928/#lekciya-5-indeksy-i-proizvoditelnost

[6] Оптимизация запросов. Оптимизация структуры данных: https://habrahabr.ru/company/mailru/blog/329928/#lekciya-6-optimizaciya-zaprosov-optimizaciya-struktury-dannyh

[7] Репликация, полнотекстовый поиск, JSON: https://habrahabr.ru/company/mailru/blog/329928/#lekciya-7-replikaciya-polnotekstovyy-poisk-json

[8] Сохранность данных: https://habrahabr.ru/company/mailru/blog/329928/#lekciya-8-sohrannost-dannyh

[9] ссылке: https://www.youtube.com/playlist?list=PLrCZzMib1e9oOFQbuOgjKYbRUoA8zGKnj

[10] Технострим: https://www.youtube.com/user/tpmgtu/videos

[11] Java: https://habrahabr.ru/company/mailru/blog/259125/

[12] Проектирование высоконагруженных систем: https://habrahabr.ru/company/mailru/blog/254843/

[13] Алгоритмы и структуры данных: https://habrahabr.ru/company/mailru/blog/323696/

[14] Web-технологии: https://habrahabr.ru/company/mailru/blog/248745/

[15] С/С++: https://habrahabr.ru/company/mailru/blog/253095/

[16] недавней статье: https://habrahabr.ru/company/mailru/blog/328912/

[17] Источник: https://habrahabr.ru/post/329928/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best