Skip navigation.
Home

Примерная программа курса "Современные базы данных", осень 2011, магистратура мехмата ИТ, первый год

Выкладываю примерную программу для магистров первого года. Магистры второго года могут пока посмотреть на материалы к прошлогодним занятиям, навряд ли они сильно изменятся.
Небольшие пояснения. Так как товарищей с криками "хотим Oracle" не появилось, академических лицензий от данной корпорации пока не видно (как, кстати, не видно и ее заинтересованности в проведении в ЮФУ курсов на основе их технологий, в отличии, например, от того же Microsoft), то курс построен на основе СУБД PostgreSQL. По сравнению с прошлогодними курсами по Oracle и PostgreSQL, курс немного расширен, так как количество часов увеличилось (однако исчез курс, читаемый магистрам второго года). 

Итак, программа курса "Современные базы данных (PostgreSQL)".

1) Вводная лекция. Модели данных.
2) Установка и начальная настройка PostgreSQL, основы администрирования.
3) SQL 2003. Аналитические функции. Рекурсивные функции. Работа с XML.
4) Программные интерфейсы взаимодействия с СУБД.
5) Основы использования возможностей сервера приложений для взаимодействия с СУБД.
6) Серверное программирование в PostgreSQL (SQL, PL/pgSQL). 
7) Написание хранимых процедур на C (старый формат, новый формат, возвращение множества значений, возвращение таблицы).
8) Пользовательские типы данных. Создание агрегатов.
9) Concurrency contorl. Виды блокировок. Уровни изоляции транзакций. Потерянные обновления. Ошибка "could not serialize access due to concurrent update". MVCC. Vacuum. Savepoints.
10) Оптимизация запросов. Сбор статистики. Разбор планов запросов. Просмотр статистики. Просмотр гистограмм.
11) Секционирование.
12) Система правил в PostgreSQL.
13) Представления. Обновляемые представления. Материализованные представления на основе триггеров. Стратегии обновления мат. представлений.
14) Аудит и контроль доступа. Использование представлений в целях контроля доступа и
связанные с этим проблемы (в том числе утечка данных). Проект veil.
15) Перенос данных (dump/restore). Поддержка локалей. Функция и опция COPY. pg_dump,pg_restore,pg_dumpall. Периодическое создание дампов.
16) Обновление СУБД. Полный бэкап и восстановление, pg_upgrade.
17) Надежная работа СУБД и организация PITR (Point-in-time recovery).
18) High Availability. Типы репликации. Решения для организации высокой доступности. Доставка журналов транзакций. Hot Standby. Streaming replication.
19) pgpool-II. Использование совместно с Hot Standby. Организация репликации и data sharding посредством pgpool-II.
20) Postgres-XC. Архитектура, назначение, текущее состояние проекта.
21) Интеграция данных. Организация репликации между разнородными ИД. DBLink, DBI-Link. Средства интеграции данных в PostgreSQL 9.1.
22) Table and index bloat и борьба с ним, pg_reorg. Различные способы выполнения on-line операций.
23) Мониторинг работы сервера PostgreSQL. Свободное место, размеры баз, чекпоинты. Анализ журналов. Мониторинг блокировок, бэкендов.Мониторинг работы Vacuum. Использование DTrace.
24) Проектирование развертывания production-сервера PostgreSQL. Выбор железа, ОС, ФС, вопросы ограничения ресурсов.