Магистратура
2020/2021
Распределенные базы данных и сетевые вычисления
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус:
Курс обязательный (Компьютерные системы и сети)
Направление:
09.04.01. Информатика и вычислительная техника
Кто читает:
Департамент компьютерной инженерии
Когда читается:
1-й курс, 1-4 модуль
Формат изучения:
без онлайн-курса
Прогр. обучения:
Компьютерные системы и сети
Язык:
русский
Кредиты:
15
Контактные часы:
110
Программа дисциплины
Аннотация
Изучив принципы организации и методы поддержки распределенных баз данных, выполнив проектную часть домашнего задания, студент получит квалификацию разработчика РБД по произвольной предметной области. После углубленного освоения языка SQL студент станет квалифицированным пользователем реляционных баз данных, способным писать высокоэффективные запросы к РБД. На практических занятиях студент получит навыки программиста, занимающегося реализацией проекта БД и прикладной логики распределенных автоматизированных информационных систем (РАИС), которые основаны на базах данных. После изучения части курса, касающейся сетевых вычислений, студент сможет сформулировать требования к организации распределенных вычислений, научится использовать современное программное обеспечение для организации распределенных вычислительных систем, разрабатывать распределенные вычислительные приложения и организовывать распределенное решение вычислительных задач.
Цель освоения дисциплины
- Целями освоения дисциплины "Распределенные базы данных и сетевые вычисления" в части, касающейся распределенных баз данных (РБД) являются изучение научных и технических проблем, задач и вопросов организации распределенных баз данных, направленных на создание новых методов организации хранения данных, новых моделей данных, на разработку новых высокоэффективных алгоритмов обработки данных в распределенных системах, а также освоение методов проектирования и реализации РБД. В части, касающейся сетевых вычислений (СВ), целью освоения данной дисциплины является изучение архитектуры и технологий построения систем распределенных вычислений, знакомство с распределенными алгоритмами.
Планируемые результаты обучения
- Знание основной терминологии, основных функций систем управления базами данных (СУБД) и отличий СУРБД.
- Умение выбирать методы поддержки распределённости при проектировании РБД.
- Знание протокола двухфазной фиксации, основных протоколов ликвидации и управления блокировками.
- Умение обосновывать необходимость применения РБД, проводить анализ предметной области (ПрО), составлять инфологическую модель и даталогическую (концептуальную) схему БД, разрабатывать схему фрагментации БД для распределенной системы с учетом особенностей выбранной ПрО.
- Умение создавать интерфейс к РБД с помощью встроенных средств СУРБД или внешнего языка высокого уровня (на выбор). Умение реализовывать правила прикладной области с помощью программных элементовРБД.
- Знание синтаксиса языка SQL, понимание способов реализации SQL-запросов, умение писать квази-оптимальные запросы. Умение управлять индексами и способами хранения данных с целью повышения эффективности БД.
- Знание основных проблем и направления развития РБД. Умение проводить анализ проблемы и делать доклад на выбранную тему.
- Знание основной терминологии, основных понятий и определений.
- Знание истории развития распределенных вычислений.
- Знание модели распределенных вычислений.
- Знание механизма логических часов распределенных вычислений.
- Знание взаимных исключений, существующих в распределенных системах.
Содержание учебной дисциплины
- Введение. Архитектура Системы Управления Распределенными Базами Данных (СУРБД).Общие принципы организации РБД. Критерии распределенности (по К. Дейту). Преимущества и недостатки РБД. Функции СУРБД. Архитектура СУРБД.
- Методы поддержки распределенных баз данныхФрагментация: назначение, типы фрагментации. Репликация: назначение, типы репликации, способы реализации репликации. Распределенные ограничения целостности. Распределенные запросы: основные проблемы; способы их разрешения; алгоритмы выполнения. Методы организации глобального словаря-справочника данных. Распределенные транзакции: общие сведения.
- Управление распределенными транзакциями.Механизм двухфазной фиксации. Протоколы ликвидации. Управление блокировками. Протоколы восстановления. CAP-теорема, ее критика и применение.
- Методы проектирования распределенных БД.ER-метод ("сущность-связь"): принципы и применение. Проблемы ER-моделирования. Расширенная модель "сущность-связь": обобщение, агрегирование, композиция. Доменно-ориентированное проектирование. Критерии оценки проекта базы данных и их использование.
- Оптимизация распределенных запросов. Глобальная оптимизация.Проблемы оптимизации локальных и распределенных запросов. Логическая и семантическая оптимизация. Эвристики и алгоритмы оптимизации. Глобальная оптимизация запросов. Оптимизация распределенных запросов.
- Организация интерфейса к РБД.Архитектура клиент-сервер для баз данных. Технологии доступа к распределенной базе данных. Элементы интерфейса. Программные объекты БД: триггеры, процедуры, функции.
- Исследовательские проблемы в области РБД.Хранилища данных. Облачные технологии и GRID. Обработка неполных, неточных, слабоструктурированных данных. BigData. Новые модели данных. Основные нерешенные проблемы в области БД. Перспективы развития технологии баз данных.
- Предмет распределенных вычислений.Понятие распределенных вычислений и распределенной системы. Цели построения распределенных систем. Требования к распределенным системам. Понятие и назначение программного обеспечения промежуточного уровня. Взаимодействие в распределенных системах.
- История развития распределенных вычислений.Первое поколение систем распределенных вычислений.Второе поколение систем распределенных вычислений. Современные РВС.
- Модель распределенных вычислений.Модель распределенной системы.Причинно-следственный порядок событий. Эквивалентные выполнения.конус прошлого и конус будущего события. Свойства каналов.
- Логические часы.Общие принципы построения логических часов. Скалярное время Лэмпорта. Векторное время. Методы эффективной реализации векторных часов. Матричное время.
- Взаимное исключение в распределенных системах.Общие концепции.Централизованный алгоритм. Алгоритмы на основе получения разрешений. Алгоритмы на основе получения маркера
Элементы контроля
- Аудиторная работа1
- Домашнее задание1
- Контрольная работа
- Практическая работа2
- Экзамен2Экзамен проводится в устной форме (опрос по материалам курса). Экзамен проводится на платформе meet.miem.hse.ru. К экзамену необходимо подключиться согласно расписанию экзамена. Компьютер студента должен удовлетворять требованиям: наличие рабочей камеры и микрофона, поддержка meet.miem.hse.ru. Для участия в экзамене студенту необходимо явиться на экзамен согласно точному расписанию, при ответе включить камеру и микрофон. При долговременном нарушении связи (более 10 минут) студенту может быть предложен дополнительный вопрос.
- Аудиторная работа4
- Практические занятия4
- Экзамен4Экзамен проводится в устной форме (опрос по материалам курса). Экзамен проводится на платформе meet.miem.hse.ru. К экзамену необходимо подключиться согласно расписанию экзамена. Компьютер студента должен удовлетворять требованиям: наличие рабочей камеры и микрофона, поддержка meet.miem.hse.ru. Для участия в экзамене студенту необходимо явиться на экзамен согласно точному расписанию, при ответе включить камеру и микрофон. При долговременном нарушении связи (более 10 минут) студенту может быть предложен дополнительный вопрос. Процедура пересдачи аналогична процедуре сдачи.
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)0.12 * Аудиторная работа1 + 0.18 * Домашнее задание1 + 0.12 * Контрольная работа + 0.18 * Практическая работа2 + 0.4 * Экзамен2
- Промежуточная аттестация (4 модуль)0.12 * Аудиторная работа4 + 0.18 * Практические занятия4 + 0.5 * Промежуточная аттестация (2 модуль) + 0.2 * Экзамен4
Список литературы
Рекомендуемая основная литература
- Агальцов В.П. Базы данных. В 2-х кн. Книга 2. Распределенные и удаленные базы данных : учебник / В.П. Агальцов. — М. : ИД «ФОРУМ» : ИНФРА-М, 2017. — 271 с. : ил. — (Высшее образование). - Режим доступа: http://znanium.com/catalog/product/652917
- Философия Java, Эккель, Б., 2011
Рекомендуемая дополнительная литература
- Компьютерные сети : принципы, технологии, протоколы: учеб. пособие для вузов, Олифер, В. Г., 2006
- Компьютерные сети, Таненбаум, Э., 2005